今回は数多く存在するAIのうち、人気のタスクである画像分類についてご紹介いたします。
コードを合わせてご案内しますので、GoogleColabratoryなどPythonが実行できる環境を利用して試してみてください。
プログラミングが全く分からない場合は、「AIの学習と予測」まで読んでみてください。
ただし、プログラミングがわからなくてもコードは貼り付けて実行すればAIを体験できるようになっておりますのでもし興味があったらチャレンジしてみてください。
<目次>
1. 画像分類とは
2. 画像分類の仕組み
3. AIの学習と予測
4. 実際のコード 【次回掲載いたします】
===============
1.画像分類とは
===============
AIにおける画像分類とはある画像において、その中の特定のものが猫なのか、犬なのか、はたまた猿なのか、種類ごとに分類することを指します。
分類するものは画像に映るものなら何でもよく、車やバスなどの乗り物、あるいは人間の顔であったりと、多種多様に分類できます。
何に分類するかは人間側で定義することができ、それをAIに学習させることでAIが画像を分類できるようになります。
=============
2.画像分類の仕組み
=============
コードを紹介する前に簡単に画像分類の仕組みについてご紹介いたします。
なるべくわかりやすいように簡単に記載していますが、その分正確ではございませんので、ご容赦ください。
画像分類におけるAIはConvolutional Neural Network(通称CNN、または畳み込みニューラルネットワーク) と呼ばれ、大まかに畳み込み層と全結合層と呼ばれる2つの構造から成り立ちます。
1) 畳み込み層
-----------------------------
まず、画像をAIに投入するのですが、投入された画像は畳み込み層と呼ばれるAIの階層に読み込まれ、ピクセル単位で画像の解析が行われます。
そうすることでその画像の特徴を抽出します。
2)全結合層
------------------------
次に全結合層ですが、畳み込み層で抽出した情報を一つの情報にまとめ上げ、その情報から、入力した画像は犬なのか、はたまた猫なのかを判断する階層になります。
このようにして、学習させたい画像の特徴を抽出、予測といった一連の処理を内部で行っております。
=================
3.AIの学習と予測
=================
AIのモデルが出来上がったらそのまま使用できるというわけではありません。
モデルの構築は脳の器ができただけですので、その中に詰め込む知識を作っていく作業が必要になります。
そのためにAIでは学習フェーズと予測フェーズといわれる2つの段階の作業を実施いたします。
1) AIの学習フェーズ
------------------------------
AIの学習フェーズでは畳み込み層と全結合層によって出力された予測結果をもとに実際の答えと照らし合わせて答えと合っているか、間違っているか、間違っているならどれだけ間違っているのかをAIに教えながら、AIがより正確に答えを出せるように正否を教えながら繰り返し学習させていくフェーズになります。これが所謂教師あり学習といわれるものです。
2) AIの予測フェーズ
------------------------------
学習フェーズが終了したら予測フェーズに入ります。
予測フェーズではAIが学習フェーズで学習した経験をもとに与えられた画像に対して答えを出す段階に値します。
ここでうまく正解がこたえられるかどうかで、AIの頭の良さを判断します。
この結果が良ければそのまま製品として世の中で使われるようになります。