今話題のディープラーニングって一体なんなの? 文系から見た人工知能

こんにちは!ゴリゴリの文系学生のたくやです! 実は僕、今Aidemyで研修中なのですが、

課題. MNISTデータセットを多層パーセプトロン(MLP)で学習せよ

うーん、なんだかかっこいいけど何を言ってるのか分からん!笑みたいな状況です笑 今回はそんな僕がAI(人工知能)について学んできて分かってきた内容をみなさんにシェアしたいと考えています! 今回は他のブログにあるような難しいコードは一切ないので箸休め的な感じで気楽に読んでもらえたらと思います!

AI、機械学習、ディープラーニングの違い

まず、AI、機械学習、ディープラーニングなどの言葉を最近よく耳にするようになりましたが、皆さんはこの3つの違いを明確に説明することはできますか? 答え合わせです!

http://deliways.com/blog/marketingautomation/172

実は上記のような関係性になっています。 最近話題のディープラーニングは人工知能の中の機械学習という分野の話だったんですね! また、別の角度から三者の違いを説明する為に”AIの4つの知能レベル”という概念を取り入れて見ます。具体的なシチュエーションとしてたくさんの荷物が積まれた流通倉庫を考えてみましょう!

<レベル1> 荷物を決められた規定で仕分けする。 これは元来、制御工学やシステム工学と呼ばれる分野であって近年のAIブームに乗っかってAIと呼ばれだした分野です。ちょっとその道の人たちに対しては失礼な気もしますね。

<レベル2> 荷物を決められた規定で仕分けしつつ、丁寧に扱うなどのタグがついていたらそれに従う。 これは入力されたら決められた値を出力するという古典的なAIです。(AIのブームは1956年頃から実はもう起こっていました。)

<レベル3> 荷物のサンプルからルールを自分で学習して仕分けする。 これは入力と出力を関連づける方法をデータを基に学習する段階ですが、これが機械学習と呼ばれています。

<レベル4> このタイプの荷物はサイズで見れば大だけど形状が違うから別扱いにしようなど自分でルールを作って一番効率的な仕分けを学習する。 この段階まできたものディープラーニングと呼んでいます。

ディープラーニングの仕組み

では次に今話題のディープラーニングはどのような仕組みで動いているのか、簡単ではありますが説明したいと思います。 ディープラーニング(深層学習)はその名前の通り層を深くすることで個々の事象を抽象化していく方法です。

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRE_oU7aRorcmDK5e0h5hSqCyipVcT7kpfpan8wyCuuz6Q3u3-M

上の図では入力された情報X1とX2が細いところを通って真ん中の隠れ層と呼ばれるところに出力されます。この通路は細いため、すべての情報がそのまま伝達されるわけではありません。 中間層の値をもう一度、細いところに通し今度は一番右の出力層と呼ばれるところに出力します。

このとき出てきた値がy1、y2という本来なって欲しかった値と等しくなるように細い経路を通る時にどこの情報を重視するかという「重み」が修正されます。(専門用語では活性化関数という数値が値に対して掛け算されます。) その後、出力層とX1、X2は重ねてしまい、 今度は隠れ層だったところを入力層として再び同じ操作を繰り返していきます。 これを繰り返すことで、どこの部分に着目すれば本来あるべき値に近づけることができるのかということが洗練されます。それによって抽象度が上がり、事象の本質をコンピュータが学んでいきます。https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSW-rY_O5zG0HNxYA3QctDYrOR_WHnpH_HQ-cDW5VCT_QV0zo9e

上図ですと隠れ層は2つになっていますが、複雑なものになりますと隠れ層がもっと多くなることもあります。 少々、難しかったでしょうか?

今日からディープラーニングを使う

こういったディープラーニングを本格的に導入するとなると大変な研究開発コストと深いコンピュータの知識が知識が必要になりそうです。ディープラーニングの技術を適用したい中小企業にとっては遠い未来のお話に思えるかもしれません。 しかし、今、だれもがディープラーニングの成果をビジネスに生かせるサービスが既にグーグルから提供されています。 グーグルから提供されるサービスは大きく分けて2種類

  • 機械学習の訓練済みモデルをAPI(アプリケーション・プログラミング・インターフェイス)として提供する形
  • 機械学習ライブラリのTensorFlowの提供

まずは前者について詳しく解説します。 グーグルでは四つのAPIを公開してます。

機械学習の訓練済みモデルをAPI(アプリケーション・プログラミング・インターフェイス)として提供する形

Google Cloud Vision API

画像認識、画像分析の機能を提供するAPIです。画像に含まれているものによって素早く複数のカテゴリーに分類してくれます。(例えば、ヨット、ライオン、りんご、など。)また、画像の中に複数の物や人物が写っている場合は個別に検出することができたりテキスト部分を検出して読み取ることも可能です。さらに、人の感情を読み取って感情を評価するマーケティングなどに生かすことも可能です。

Google Cloud Speech API

話された音声を認識してテキストに変換する機能を提供します。80以上の言語と方言を認識してグローバルな活用ができる他、結果をリアルタイムで返すことが可能です。また雑音の多い音声データに対しても正確な認識ができます。

Google Natural Language API

自然言語処理(人間が日常的に使っている自然言語をコンピュータに処理させる一連の技術)を行うAPIです。テキストの構造や意味を認識し、文章が何を言おうとしているのかの判断に役立てることができます。また、テキストの内容から肯定・否定といった感情を検知することもできます。用途としては膨大な記事をトピックごとに整理したり不適切なコンテンツをフィルタリングしたりすることが考えられます。

Google Cloud Translate API

ある言語で記述された文字列を他の言語の文字列へと翻訳する機能です。webサイトやアプリケーションでこれを利用すれば言語の壁を超えたサービスを手軽に提供することができます。翻訳元の言語が不明でも自動検出することもできるので特定の言語に限らない翻訳サービスを自社のサイトやサービスに組み込むことができます。

次に後者のTensorFlowについて説明します。

機械学習ライブラリのTensorFlowの提供

・TensorFlow

これは提供されたAPIが医療や産業などの特定の分野にフィットしない場合に利用します。TensorFlowの大きな魅力はpythonという言語で簡単なコードを書くだけでディープラーニングを利用できることにあります。様々な複雑な物事の調整は自動的に行ってくれます。例えばAPIが「既製品の服」だとすればTensorFlowは「イージーオーダーの服」を作るためのミシンのような役割をしてくれます。服を一から作る技術がなくても、それを作るための手助けをしてくれます。

ディープラーニングについてもっと知ろう!

これからの時代、人工知能の知識が問われるのはエンジニアだけではありません。 ビジネスサイドの人も知識を持っていることで、どこで、どのように人工知能を活用すればビジネスチャンスを広げられるのかがわかり、大きな利益を生むことができる場面が出てくることでしょう。

あなたも目の前のビジネスチャンスを拾い上げるための力を身につけませんか? ディープラーニングやプログラミングについてさらに技術的な面からも学びたい人は弊社Aidemyのプログラミング講座もぜひご検討ください。

参考文献

プログラミング未経験からでもAIスキルが身につくAidemy Premium




PythonやAIプログラミングを学ぶなら、オンライン制スクールのAidemy Premiumがおすすめです。
「機械学習・ディープラーニングに興味がある」
「AIをどのように活用するのだろう?」
「文系の私でもプログラミング学習を続けられるだろうか?」
少しでも気になることがございましたら、ぜひお気軽にAidemy Premiumの【オンライン無料相談会】にご参加いただき、お悩みをお聞かせください!