2017年06月09日

機械学習の落とし穴

こんにちは。
マーケティング・営業担当の池田です。

さて、もうだいぶ前から「弊社でもAI人工知能)に取り組んでいる」というようなことを言っておりますが、
現時点で、AIを用いたアプリケーションを提供できるところまでになってきました。
現在は、AIが取り込む学習データをチューニングして、その精度をあげることに注力しているところです。
当然、データサイエンティストなどいるはずもなく、四苦八苦、試行錯誤の日々です。
実際に作業しているのは私ではありませんが(苦笑)
ただ、マーケティング・営業担当としては、苦労は苦労でリアルにお伝えすることが役目と思っています。
よりリアルにお伝えするためには、それなりの知識を身に付けなければ・・・
というわけで「それにはまず機械学習からでしょう」という発想に至り、
機械学習について時間があればいろいろ調べたりなどしております。

そこで今回は、まだ知識が浅いなりに「機械学習」について語ってみたいと思います。
まぁ“語る”とは言っても当然内容は薄いので、自分のための備忘録程度にしかまとまりませんが(苦笑)、
「素人はこんなことを思うのだなぁ」という目線で何かの役に立てれば幸いです。

では、ここからが備忘録です(笑)

昨今のAIの盛り上がりによって「機械学習」という言葉もよく耳にするようになりましたが、
機械学習を端的に一言で表現すると・・・

機械学習(きかいがくしゅう、英: machine learning)とは、人工知能における研究課題の一つで、
人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。
出典:Wikipedia

この説明からも分かる通り、
AIとは機械学習のことである」
AIを知ることは機械学習を知ること」
などと言っても言い過ぎではないほど、AI機械学習は密接に関係しています。

ちなみに、AI人工知能)についてのWikipediaの説明はこちら。

人工知能(じんこうちのう、英: artificial intelligence、AI)とは、
人工的にコンピュータ上などで人間と同様の知能を実現させようという試み、
或いはそのための一連の基礎技術を指す。
出典:Wikipedia

人工知能AI)」と「機械学習」のそれぞれの説明の一部を並べてみます。

「人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。」
「人工的にコンピュータ上などで人間と同様の知能を実現させようという試み、
 或いはそのための一連の基礎技術を指す。」

人工知能AI)」と「機械学習」、どちらを主語にして読んでみても違和感ありませんよね?
仮に最初から入れ替えて文章を見せられたとして、私だったらそれに気が付く自信はありません(笑)

機械学習」という言葉は、昨今のAIの盛り上がりによってよく耳にするようになりましたが、
特段、新しい考え方ではありません。
今のこのAIブームが「3次」と言われるようにAIそのものが最新技術というわけではありませんので、
前述の通り機械学習無くしてAIはあり得ないということを踏まえれば、機械学習は以前から存在していて、
AIの注目度と共に機械学習も多くの人の関心を引くようになったということにすぎないわけです。
そのような背景もあり、機械学習については長い間に渡って研究されてきている概念ですから、
調べてみると情報量もハンパではありません。
しかも、「特微量」「パーセプトロン」「バックプロパゲーション」など、
とにかく次から次と(私にとっては)新しい単語に出会います。
それも難解な数式と共に。。。
学術的に理解するとなると今の私の手には負えませんので、
そちらの分野の説明はここでは割愛させて頂きますね(苦笑)

では、機械学習の何をまずは知るべきかと言うと、“手法”でしょうか。
問題と正解のデータを与えてその特徴を学ばせる教師あり学習
正解データだけを与えて自ら特徴を見出すように学ばせる教師なし学習
長期的に考えた時に価値を最大限化する行動を重視する強化学習
などがあります。
実はここから更に細分化された手法が数々ありますが、また学術的な話になりますので割愛、と。。。(笑)

ところで、AIを賢く育て上げたいならデータを大量に与えれば与えるほど良い
というイメージがありませんか?
しかし、データの与え方を上手くコントロールしないとオーバーフィッティングという
弊害を招く恐れがあるようです。
オーバーフィッティングとは、日本語に訳すと「過学習」、統計学では「過剰適合」とも呼ばれるそうですが、
どのような状態かと言うと・・・

過剰適合(かじょうてきごう、英: Overfitting)とは、統計学や機械学習において、
訓練データに対して学習されているが、未知データ(テストデータ)に対しては適合できていない、
汎化できていない状態を指す。
出典:Wikipedia

つまり、人間で言えば、丸暗記と同じような学習の仕方をするようになってしまうのだそうです。
通常なら、訓練データから特徴や傾向をつかんで類似の事柄に適応していくようになっていくはずですが、
丸暗記ですからそんな応用力など身に付くはずもありませんよね。
AIも、楽をしたいと考えるようになるのでしょうか?
そう考えると、なんだかとても人間臭い感じがしてきますね。

過学習の防止策としてはドロップアウトという手法を用います。
機械学習の方法によってドロップアウトの具体的手法も異なりますが、
簡単に言ってしまえば「楽をして覚えさせない」ということになるでしょうか。
私には詳細を正しく説明する自信がありませんので(苦笑)、
具体的手法を知りたい方は他のサイトをご覧下さい。

さて、弊社のAIプロジェクトの訓練状況ですが、過学習どころかまだまだ未学習に近い状態です。
これからどんどん教え込む必要がありますが、
ある時期を過ぎたら「確信度が100%に近づいた!」と安易に喜ぶのは早計だ、
という心構えは必要なのかもしれませんね。
今後の学習状況については、ご報告できることがあればお伝えしていきますので、お楽しみに!


posted by CBIT池田 at 17:15 | Comment(0) | その他 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: