テクノロジー

5分でわかるAI作成、素人でも理解できる人工知能の作り方

5分でわかるAI作成、素人でも理解できる人工知能の作り方

AI(人工知能)という言葉、最近よく耳にしますよね。「テクノロジーが発達していろんな事ができるようになった!」「自分がやっている仕事がAI(人工知能)がやってくれて、楽になるかも!」という声も聞こえてくるでしょう。

AI(人工知能)は近年開発が非常に発達している分野で、開発が進んでいくとともに今後生活により深く関わってくる技術になっていきます。例えば今お手持ちのスマートフォンやパソコン、車に掃除機、冷蔵庫なんかにまで、既に私達の生活にAI(人工知能)という技術は組み込まれています。

中には、AI(人工知能)に対して興味がわいてきて、「AI(機械学習)エンジニアになりたい!」「実際にAI(人工知能)を作成してみたい!」という方もいるでしょう。とはいえ実際に作ってみての理解が一番早いのですが、それもどこから手を付けてよいかわからない方も多いはず。

そこで今回は簡単にできるAI(人工知能)の作り方をお伝えしていきます!ぜひ簡単でシンプルなAI(人工知能)を作ることで概要をつかんでいきましょう。

最近よく聞く Python(パイソン)と人工知能の関係を知りましょう

プログラミングのイメージ

まず、AI(人工知能)とは、Artificial Intellihenceの略で人間の知的振る舞い(言語の理解や推察、問題解決など)を人間に代わってコンピュータに行わせる技術です。

このAI(人工知能)技術の基礎として、マシンラーニング(機械学習)があります。機械学習とは、コンピュータが膨大な量のデータを集計して判断し、作業を実行できるようにする「訓練」のことを指します。機械学習で用いられるプログラミング言語は多数ありますが、現在最も機械学習に用いられるプログラミング言語が「Python」です。

実際にPythonは多数の企業が採用しており、YouTubeやInstagram等のサービスもPythonを用いて作られているのだとか。なぜPythonが機械学習に使用されるのかというと、Pythonが他の言語に比べ、少ないコード量で簡単にプログラミングでき、コードの理解もしやすいためです。また、Pythonは数値計算や機械学習用のライブラリ(機能をひとまとめにしたパッケージ)がたくさん存在しているので、プログラミング初心者でも効率的に理解、開発ができることも魅力の一つです。

つまりAI(人工知能)を作成しよう!となったら機械学習の知識が必要であり、機械学習に用いられるプログラミング言語の一つであるPythonを習得するのがおすすめです。

AIを作成したい人が用意するべき開発環境について

コンピュータのイメージ
とはいえ、AI(人工知能)を作成するのに通常のパソコンの環境ではできません。まずAI(人工知能)に限らずパソコン上で開発を行う際には開発するための環境構築が必要です。ここではAI(人工知能)を作成するために必要な環境の準備について紹介しましょう。

開発に便利なツールをまとめた「Anaconda」

Anacondaとは、データサイエンス、機械学習などの開発で便利なツールがたくさんまとめられた、Pythonのディストリビューションです。「ディストリビューション」とは、色々な便利ツールをひとまとめにしたものをいいます。

Pythonの開発環境や便利なエディター(テキストファイルを編集するソフト)もまとめられていますので、機械学習などで必要な物のほとんどがAnacondaからインストールできます。

こちらのページからご使用のOSに対応したインストーラーをダウンロードして実行します。Pythonのバージョンは3.*を選択すると、Pythonもインストールすることができるでしょう。

機械学習用ライブラリ「TensorFlow」

TensorFlow(テンソルフロー)とは、さまざまな機械学習の分野で使用するためのOSS(オープンソフトウェアライブラリ)です。OSSとは無償で公開され、利用や改良が誰に対しても許可されているソフトウェアのことを指します。OSSを活用することで、ゼロから構築すると数か月かかるような機能でも、数時間で同じ機能を導入できる場合も。

TensorFlowとは
TensorFlow は、機械学習向けに開発されたエンドツーエンドのオープンソース プラットフォームです。研究者が機械学習で最新の実験を行い、デベロッパーが ML 搭載アプリケーションを簡単に開発してデプロイできるよう、各種ツールやライブラリ、コミュニティ リソースを備えた総合的で柔軟性に富んだエコシステムを確立しています。
(引用元:TensorFlow公式サイト

TensorFlowにはチュートリアルも用意されており、機械学習初心者からエキスパートまで幅広く活用できます。このためAI(人工知能)開発、機械学習をやるにあたっては必須のらいぶらりでしょう

以上でAI(人工知能)を開発するための環境が整いました。

なお、機械学習をPython等のプログラミング言語を用いて行うにあたり、プログラミングスキルのほかに数学の知識や機械学習で使われるアルゴリズムの知識、データを正しく学習させるためのデータモデリングの知識、データベースの知識が必要です。

機械学習で何をするかによって必要な知識は変わってきますが、数学ですと微分積分や統計学等の知識が必要になって来るでしょう。まずはTensorFlowの公式サイトのチュートリアルを試してみましょう。

知っておきたい人工知能を作成する為のソフト一覧

ソフトのイメージ
ここまでAI(人工知能)作成、機械学習を自力で開発するための環境開発を紹介してきました。そうなると、AI(人工知能)を作成できるソフトがないか気になりますよね。

残念ながらAI(人工知能)を作成するフリーソフトはほとんどありません。とはいえ簡単な検証、実験するだけであればデータさえあればプログラミングの知識がなくともWebサービス(ソフト)を用いることでAI(人工知能)の作成ができます。

ここでは分野ごとに便利なWebサービスを紹介していきます。

モデル作成に便利な「AutoML」

AutoMLはGoogleが提供するWebサービス。機械学習の専門知識がなくても、学習データだけあれば機械学習モデルを自動で構築できます。ちなみに機械学習モデルというのはAI(人工知能)における頭脳のことで、学習したデータを元に入力に対して答えを出力できます。

ディープラーニングを作れる「Neural Network Console」

Neural Network Consoleとはソニーが提供するディープラーニング(深層学習)のプログラムを生成できる総合開発環境です。ディープラーニング(深層学習)とは、機械学習の手法の1つで、情報と情報のつながりに重要度をつけて学習させます。。

例えば「黒猫」を学習したいときに、暗いところにいる黒猫と明るいところにいる黒猫では同じ黒猫でも見える色が変わってきますよね。そこで周りの明るさと猫の色の関連性を重要度として設定することで、機械学習モデルにより正しく認識させることができます。この、情報と情報のつながりニューラルネットワークといいます。

AI(人工知能)開発者は本来画像認識や音声認識等に対してニューラルネットワークの構築を行い、試行錯誤を繰り返してニューラルネットワークの最適化を行ってから機械学習モデルに組み込む必要があるのですが、Neural Network ConsoleはGUIでニューラルネットワーク構造を視覚しながら直感的に設計、学習、評価ができます。

画像認識につかえる「Labellio」

Labellioは京セラコミュニケーションシステム株式会社が提供するWebサービス。専門の知識がなくても、画像をアップロードするか検索キーワードを入力して画像収集をし、学習パラメータを調整するだけで画像認識モデルを数分で作ることができます。

簡単にAI(人工知能)を作れる「AIメーカー」

AIメーカーは個人で開発された誰でも手軽に機械学習を始められるWebプラットフォーム。画像認識と文字起こしの2つに対応しており、環境構築も不要なので非常に手軽にAI(人工知能)作成を試すことができます。

また、他のユーザーが作成したAI(人工知能)は「みんなのAI」として公開されており、そのAI(人工知能)を自分で使うこともできます。実際にAIZINE編集部でも画像認識のAI(人工知能)を作成しましたが、その精度も結構すごいのだとか・・・。

できるかどうかは置いておいてAI(人工知能)を作成する手順はこんな感じです

手順のイメージ
ここまでAI(人工知能)を作成するための環境や、便利ツール等を紹介してきました。つまり画像認識などの簡単なAI(人工知能)であれば、初心者でも作成することは可能です。

基本的な作り方の流れとしてはこれから紹介する大きく3行程に分類されます。どういうことなのか、ここではGoogleが実際に行っていた猫の画像を認識できるAI(人工知能)を作るという前提で作り方の流れを紹介しましょう。

学習するための大量のデータを用意する

まずはコンピュータに「猫」とはどんなものかを学習してもらうために猫の画像を大量に用意します。大量のデータを集めるには様々な方法があり、画像であればGoogle画像検索を使って探すのも1つの手です。また例えばチャットAIを作成したいときには文字データであれば既に学習用のデータが多くの企業から有償または無料で公開されていることもあります。

この時に良質なサンプルを大量に用意すればするほどより精度が高く優秀なAI(人工知能)ができるので、できるだけ多くのデータを用意するようにしましょう。

機械学習によってモデルを学習させる

大量のデータを用意できたら、次にまだ何も学習していないAI(人工知能)に学習させ、モデルを作成しましょう。先ほど紹介したフリーソフトを使用したり、プログラムを組むことで大量のデータを分析し、特徴やパターンを認識できるモデル作成ができます。

今回は猫の画像を学習させるので猫の特徴(丸い顔、耳がある、毛がある等)を大量のデータを読み込ませることによって画像のパターンを学習させていきます。

学習したモデルに問題を出して答えを出させる

大量のデータを学習したモデルが用意できたら、実際にAI(人工知能)に判断させて結果を出しましょう。例えば問題に猫の画像を出すと、今まで学習したパターンにマッチしてこれは猫の画像ですと判断し、逆に猫以外の適当な写真を出すと、学習してきたパターンにマッチせずにこの画像ではないと判断します。

簡単なAI(人工知能)の例ですが、このような工程で作成することができます。「機械学習によってモデルを学習させる」というところが肝心ですが、これもプログラミングをせずともWebサービス(ソフト)を使用すれば比較的簡単にモデルを作成することができるでしょう。

まとめ
さて、今回はAI(人工知能)の簡単な作り方についてお伝えしました。

一口にAI(人工知能)作成と聞くと難しく感じますが、工程を分けるとたったの3工程です。

  1. 学習させるための大量のデータを用意する
  2. 機械学習によってモデルを学習させる
  3. 学習したモデルに問題を出して答えを出させる

また、「AIメーカー」「Neural Network Console」などAI(人工知能)を簡単に作れるもの「AutoML」「Labellio」など開発の手助けとなる様々なツールが世の中に出ているので、ハードルはかなり低いかもしれません。

複雑なものを作るのであればやはりプログラミング必須となってきますが、Pythonは機械学習に使用されるだけでなく、Web開発等汎用的に使えるプログラミング言語であり、他の言語と比べて習得も容易な上、実際に企業でもよく使用されている言語なのでこれからプログラミングをこれから学んでみようという方にも非常におすすめです。

AI(人工知能)という分野は今後より私達の生活に深く関わっていく技術となっていきますので、もし興味を持ったのであればぜひ自分でAI(人工知能)作成にチャレンジしてみましょう。

トップへ戻る
タイトルとURLをコピーしました