メディア

官能の人工知能 〜深層学習を最も分かりやすく説明するパラダイムOver the AI ―― AIの向こう側に(22)(5/10 ページ)

» 2018年06月04日 11時30分 公開
[江端智一EE Times Japan]

手作り学習データでCNNを学んでみる

 今回は、この教師あり学習としてCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)を、教師なし学習としてAE(Auto Encoder:自己符号化)をご紹介します。

 ニューラルネットワークには、いろいろありますが、前回の(1)階層型の層間全結合のニューラルネットワークと、この(2)CNNと(3)AEの3つさえ分かっていれば、おおむねニューラルネットワークは理解しているといっても良いでしょう。

 では、CNNから解説します。

 CNNについては、いろいろな文章を読みまくったのですが、どうにもよく分からなかったので、書籍やネットに記載されているプログラムをパクり……もとい、参照させて頂きながら、自分でプログラムを書いてみました(プログラムはこちら)。

 学習データとしては、A,B,C,Dの4種類の文字を8つ用意しました。いくつかは文字の角度や大きさや場所を変えてみました。

 前回、私は、XORという、線形では分離できない、簡単な4つの信号の学習を試みて、かなり頻繁な確立で学習に失敗することを示しました。

 今回の入力データは、8x8=64ビットのデータを8つも学習させることになりますので、前回のような全結合型のニューラルネットワークを使って、逆伝搬学習(バックプロパゲーション)を試みれば、ほぼ確実に失敗することは分かっています。

 文字認識は、ニューラルネットワークの代表アプリケーションと言えるもので、世の中の多くの論文で成功例の報告がありますが、大抵の場合、マグレで学習に成功したケースです(いわゆる、チャンピオンデータ、というやつです)。

 まあ、マグレであれ何であれ、一度学習に成功してしまえば、そのニューラルネットワークはどこでも使うことができるようになりますので、それはそれで良いのです ―― が、結局のところ、マグレや設計者のセンスに依存するような技術は、結局使いものにならないのです。第2次AIブームのニューラルネットワークは廃れていったのは、こうした理由からでした。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.