未経験からの機械学習 実践入門

機械学習とは?

  • このエントリーをはてなブックマークに追加
  • Pocket

ディープラーニング、ニューラルネットワークについて解説してきましたが、では、ニューラルネットワークはどのようにつくるのでしょうか?

その質問に答えるため、「機械学習」とは何か、ということを解説していきましょう。

機械学習にも種類が色々あるのですが、今回はその中でも「教師あり学習」というものについて解説します。

人の顔から感情を推定するというモデルを例に取ります。

この場合、一昔前であれば細かいルールベースのプログラミングが必要でした。

顔の画像から、口や目の特徴点を取り、その特徴点の配置等から感情を確定させます。

ただ、人の顔は解像度や年齢、性別、国、写真の角度によっても様々変わりますから、そのプログラミングは一筋縄では行きません。

そこで機械学習の出番です。

ニューラルネットワークで機械学習を行うと、上記のようなプログラミングは不要です。

ニューラルネットワークを定義して、そのニューラルネットワークに対して、
この顔は怒っている顔。
この顔は喜んでる顔。
この顔は悲しい顔。

のように大量の顔と、その顔がどんな感情を表しているかというデータをニューラルネットワークに与えます。

するとニューラルネットワークは、これを学習していきます。

どのように学習するかというと、入力に対しての出力が正解と一致していない場合、自分自身(ニューラルネットワーク)の各ニューロンの発火タイミングを正解データが出力されるように少し調整します。

これを繰り返すことによって、そのニューラルネットワークは最終的に顔の画像から感情を出力出来るようになります。

上で少しプログラミングに触れましたが、ニューラルネットワーク構築の際もプログラミングは必要になります。

ただ、プログラミングする内容が、上記に記載したものとは全く異なります。

まず考えないといけないのは下記の定義です。

・入力はどんな形式か(例:200×200の顔の画像)
・ニューラルネットワークのニューロンはどんな構造なのか(例:層の数・ニューロンの数)
・出力はどんな形式か(例:喜怒哀楽)

を定義することになります。

この定義したニューラルネットワークに対して、プログラム上で大量の訓練データ(例:顔画像と正解の感情のペアのデータ)を流し込むのです。

つまり、プログラム上では口の位置を判別して・・だとか、目の位置を判別して・・・だとかの画像処理はほとんど必要ありません。

また、ニューラルネットワーク上のニューロンの構造ですが、これは複雑にすると複雑な処理ができるようになります。

例えば簡単なニューラルネットワークの構造だと口元が笑っていたら【嬉しい】という感情を出力するモデルが出来たとしますが、もう少し複雑にすると口元が笑っていても目が怒っていたら作り笑いと判定して【怒り】という感情を出力するモデルができるかもしれません。

ニューラルネットワークの構造の定義のパターンは、数種類というわけではなく膨大です。また複雑にすればするほど学習に時間がかかり、精度とのトレードオフになります。

そのため、ここの構造の定義は機械学習エンジニアの腕の見せどころでもあります。

機械学習の手法が改善されていくことによって、より賢い人工知能を作れるということですね。

ご質問等ございましたら、以下コメント欄よりお気軽にお問合せ下さい!

【動画あり】AI店員(人工知能)が小売業・流通業の接客を可能に!ニュースにも登場!

AI店員

AI関連サービス導入事例

AI導入事例

オージス総研

詳しくはこちら

お知らせ

2018/05/15 【イベント】株式会社アイネット様とSPJが、Japan IT Week(東京ビッグサイト)に共同出展

2018/04/20 【セミナー】【世界最高レベルの精度のAIチャットボットを開発・導入する方法】 2018/05/19(土) 東京 開催

2018/03/12 【プレスリリース】世界初!会話を学習しアナタだけの性格に育つメイド カーナビAIを共同開発

2018/03/03 【セミナー】【世界最高レベルの精度のAIチャットボットを開発・導入する方法】 2018/04/21(土) 東京 開催

2018/02/20 【メディア掲載】Ledge.ai(AI:人工知能特化型メディア)にインタビュー記事が掲載されました

過去のお知らせ一覧

  • このエントリーをはてなブックマークに追加
  • Pocket

アクセス・ランキング

人気AI記事 月間ランキングTOP25

詳しくはこちら

よく一緒に読まれているAI記事

少ない画像から画像分類を学習させる方法(kerasで転移学習:fine tuning)... 「フルーツの画像を判別するモデルをを作ってくれませんか?」 と言われた時に、どのようにモデルを作りますか? ディープラーニングで画像分類を行う場合、通常畳み込みニューラルネットワークという学習手法を使いますが、画像の枚数によっては数週間程度がかかってしまいます。 また、学習に使用す...
世界初!会話を学習しアナタだけの性格に育つメイド カーナビAIを共同開発... エディアとSPJがAIを活用した次世代カーナビ・ゲームの共同研究開発を開始! 株式会社エディア(本社:東京都千代田区、代表取締役社長:原尾正紀、以下「エディア」)と、株式会社SPJ(本社:東京都千代田区、代表取締役:江口天、以下「SPJ」)は、2018年3月12日(月)より、AI(人工知能)関連技...
【入門】アンサンブル学習の代表的な2つの手法とアルゴリズム... 1.あらすじ 人工知能ブームがどんどん加速する中、ニューラルネット、SVM、ナイーブベーズ等、様々な機械学習の手法が存在し、その派生系もどんどん増えていって、一体どういう場合にどのアルゴリズムを選ぶといいんだろうと、首を傾げている方も多いと思います。 今回はその中でも、特にアンサンブル学習と...
自動文章生成AI(LSTM)に架空の歴史を作成させた方法とアルゴリズム... AIに文章を作らせる方法概要 架空の名前から架空の人物の歴史概要を作成させてみました。 やり方としては、wikipediaの人物の概要の部分を抜き出してRNNにトレーニングさせます。 そのトレーニングさせたモデルに対して名前を入力すると、その人物の概要を出力してくれるようにします。 ...
Jupyter Notebookで最速でディープラーニング環境を構築する方法... とりあえず、話題の機械学習とやらに触れてみたい! ディープラーニングを最速で試してみたいが、プログラミング経験が無いので、とりあえず簡単にスグに動かせる環境が欲しい! そんな方へ向けて、Jupyter Notebookを使用し、最速でディープラーニングをブラウザ上で実行出来る環境を構築す...

最新の人工知能アルゴリズムをSNSでお届けします

Leave a Reply

*