Lesson 1 AI・機械学習・ディープラーニングがしたい! そもそも何ができるの?:機械学習&ディープラーニング入門(概要編)(2/2 ページ)
機械学習専門家の藍博士と素人のマナブが会話形式で、AI・機械学習・ディープラーニングの基礎の基礎を分かりやすく紹介するシリーズがスタート。まずはAIとは何か、機械学習との違い、ディープラーニングで実現できることを知ろう。
これまでにディープラーニングで実現できたこと
前に話題になった例では、顔写真の画像をアップロードすると、その人の見た目の年齢を返すというWebサービスがあったよ。他には、画像の内容を読み取って「若い女性がほほえんでいる」みたいな文章を返すサービスもある。こういう「画像の内容を文章で返すプログラム」は画像キャプションと呼ばれているんだけど、ちょっと試してみようか? 何か写真をこのサイトにアップロードしてみてごらん。結果として内容説明の文章(キャプション)が表示されるから。
OK。じゃあ、いつも観てるテレビを撮影した一番好きな画像をアップロードしてみよっと。(😁ポンッ)
―― 画面上のキャプション表示:「裸で激しく抱き合う2人[アダルト判定: 80%]」
んっ……!!? コラー! いつも何を見てるんじゃ〜。お仕置きだっぺ!
<サンバイザー暗黒モード*2、始動>
*2【解説しよう】サンバイザー秘密機能
マナブのサンバイザーには、安全対策として真っ黒にして何も見えないようにすることで、マナブの行動をやんわりと制限する機能が搭載されている。万が一、マナブが悪さをすると、藍はタブレットを操作して、サンバイザー暗黒モードのお仕置きを与えるのだ。
😱うわー、何も見えへん! なんでなんや、いつも藍と観てるお相撲さんの写真やのに〜〜。
??! (紛らわしい画像を入れるな!)勘違いしたの。ごめん、ごめん。
<サンバイザー暗黒モード、解除>
一体なんなの。ひどない、これ!
ふーー(汗)。気を取り直して説明していくよ。確かに2人が裸で相撲をとっている写真だから、表示された文章は大体合っているよね。だけど今回使ったディープラーニングのプログラムは相撲取りの学習をしたことがなかったから、こういう結果になったんだと思う。相撲取りをたくさん学習させればもっと正確な文章を返してくれるようになると思うよ。
(なんか、ごまかされてるよーな)
これはあくまで一例で、他にもいろいろできるけどね。ここ最近、ディープラーニングを使うことで結果の精度(accuracy)が大きく向上したものには、次のようなことがあるよ。ただしこれらは代表的なものだけだし、実際には組み合わせて使われることも多いから、こんなふうにきれいに分類できるわけでもないけどね。
- 画像認識: 画像や映像から情報を抽出する。最近、特に精度が上がってきている。代表例:上記の「年齢当てサービス」
- 画像生成: 絵画の生成、画像や映像の自動加工など。代表例:線画自動着色サービスの「PaintsChainer」
- 音声認識: 言われたことを認識する。最近、特に精度が上がってきている。代表例:「Google Home」の音声認識機能
- 音声生成: 音声合成や作曲など。代表例:「Amazon Echo」での「Kindle本の読み上げ」
- 自然言語処理(認識): 言葉を理解して情報を抽出する。例:「Google翻訳」
- 自然言語処理(生成): 会話を生成するなど。いわゆるチャットボットなど。例:Twitter上で提供されている女子高生AI「りんな」
チャットボットって昔からあるような気がするけど?
確かに、以前から「人工無能」と呼ばれる、決まった言葉に対して決まった言葉を返すようなチャットボットはあったわね。でもディープラーニングが活用され始めて、本当に人と会話しているような、より自然な会話を実現できるようになってきているの。
ディープラーニングで学習させれば、こういうことが何でもできるAIができるんだね!
それは違うよ。ディープラーニングで学習させて、「学習済みモデル(Learned model、学習モデル)」というのを作って、それを使って各機能を実現するんだけど、このときできる学習モデルは、あくまで「特定の処理領域に特化したモデル」なの。つまり、目的別に学習させて作り込む必要があるのよ。ドラえもんみたいに汎用的に何でもできるわけではないこと(AGIではないこと)に注意してね。
それなら、さっきのお相撲さんの写真はそれ専用で学習しないといけないということ?
基本的に、ある特定の領域向けに作った学習済みモデルは、他の目的には転用できないの。でも実は、ある特定領域で作った学習済みモデルに追加学習させることでカスタマイズし、別の領域に適応させる技術も存在するのよ。これは転移学習(Transfer Learning)と呼ばれていて、さっきのWebサービスには転移学習によって既存の学習済みモデルをカスタマイズするサービスも提供されているから、相撲取りを認識できるようにするのはそれほど難しくないと思うわ。しかも本来、画像認識の目的で学習させるには数十万枚単位で膨大な数の画像が必要になったりするけど、転移学習であれば数十枚で学習が完了する場合も多いから、使えるなら使わない手はないわね。
それなら今の自分でも、ディープラーニングで独自の学習済みモデルを試しに作れそうやね。あとでやってみようっと。
これからディープラーニングで実現できそうなこと
ディープラーニングは進化中だから、これからももっと実現できることが増えていくと思う。
へー、例えば例えば?
2020年の東京オリンピックのころには、英語やフランス語、中国語と日本語をリアルタイムに通訳する翻訳AIなんて出てくる可能性が高いんじゃないかな……。あと、声のサンプルを採って、同じ声でしゃべらせる、なんてことも可能になってきているから、例えば米国大統領のトランプさんの声で文章を読み上げさせるとかもできるかな。
それって……偽の声で悪いことされたら嫌やん?
確かに倫理的な問題や、犯罪に悪用される可能性はあるのよね。とはいっても科学技術の進歩は、いつも悪用や誤用の危険性と隣合わせだから、それも同時に考えながら対策を考えていく必要はあるとは思う。
ニュースで大騒ぎになっている自動運転は?
複合技術の領域になるので、すぐに実現できるとは思えないけど、いつか実現しても全然おかしくはないわね。実際に、アメリカでは公道で実証実験が行われたりしているわ。
将来性あるなぁ〜。ディープラーニングを中心に機械学習を学ぶのがますます楽しくなってきた! あと、ディープラーニング以外の機械学習にはどんなのがあるの?
挙げるとキリがないけど、今、思い付く機械学習の手法(approaches、その中身となる計算方法は「アルゴリズム:algorithm」とも呼ばれる)をいくつか挙げると、
- 決定木(Decision Tree): ツリーを自動的に作ってカテゴリを分類する手法
- 最近傍法(Nearest Neighbor algorithm): 一番近い隣を使う手法
- 単純ベイズ分類器(Naive Bayes classifier):ベイズの定理を使う手法。スパムフィルターの技術として使われている
- サポートベクターマシン(Support Vector Machine:SVM): 点と点のマージンが最大になるように線引きする手法
- ニューラルネットワーク(Neural Network:NN): 人間の神経回路を真似して、入力層→1つ以上の隠れ層→出力層という多層ネットワークを構成する手法
などがあるよ。説明はまだ分からなくても大丈夫。これらはあくまで代表的なもので、これらからさらに細分化した手法も存在するのよね。例えば決定木の一種には「ランダムフォレスト」という手法などもあるよ。
ちなみに、今後、解説するディープラーニングの代表的な手法についてはニューラルネットワークの一種になっているの
へぇ。何だかよく分からないけど、いっぱいあるんだね。
本来であれば、こういった手法が生まれた流れに沿って、ステップ・バイ・ステップで機械学習を体系的に学んでいくと、課題に対して最適な手法を選択する知識も身についていくと思うのだけども、それ全部をゼロから説明するにはかなり時間がかかるから、今日はとりあえず主な名前を挙げるだけで説明は省略させてもらうね。ここからは、マナブが一番興味がありそうなディープラーニングを中心に、できるだけ簡単に理解できるように説明していくね。
【コラム】ただしディープラーニングも万能ではない
注目のAI技術となったディープラーニングだが、ディープラーニングに欠点がないわけではない。初回から深い話は荷が重いので、今回は参考程度に紹介しておこう。以下が主な欠点である。
学習済みモデルの中身(ネットワーク)は解釈できない
多くの機械学習の手法では中身は「計算式のアルゴリズム」になるので解釈可能である。「賃貸物件の家賃」を求めるアルゴリズムを例にとると、「家賃 = 駅からの徒歩距離×a + 部屋数×b + 築年数×c + ……」のような計算式が提示されれば、その意味は理解できるだろう。
しかし、ディープラーニングなどのニューラルネットワークの手法は、学習によって最終的に出来上がったネットワークを見ても人間には解釈できない(図5)。これは、脳神経のつながりのネットワークを見ても、意味が分からないのと同じだ。このため、ディープラーニングの学習済みモデルが表現する内容を、顧客ユーザーらに説明するのも不可能で、ブラックボックスとして示すしかない。
大量のデータが必要
画像認識の説明でも簡単に示したが、ネットワークが構築されるまでには非常に膨大なデータが必要となる。ただしこれについては、データを拡張する方法(第3回で説明)など、さまざまな改善手段も提案されている。
ネットワーク作成には時間がかかる
ネットワーク作成時の計算には、データ量やネットワークのサイズによって、何時間も、ひどいときには何週間もかかったりする。しかも、第3回で説明することになるが、学習して最適解を出せるようになるまでには、そのネットワーク作成を何度となく繰り返して結果を評価する試行錯誤が必要になる。
まとめ
AIについては大体分かってきた!
では今日はここまで。お疲れさま。
おおきに、藍先生! 勘違いしているところもいっぱいあったけど、やっぱおもろいんでこれからが楽しみや!
あらあら、得意の大阪弁が出たわね(テレビの漫才見せるのもいい加減にしないとなぁ……)。じゃあ明日の朝食はパンケーキを食べに行こう。次は機械学習がどんなものなのか、もっと具体的に教えてあげるね。
【まとめよう】AI/機械学習/ディープラーニングの概要
- AI(人工知能): 人間が行う「知的活動」をコンピュータープログラムとして実現すること
- シンギュラリティ: AI自らがAIを生み出せるようになると、人間を完全に超える圧倒的に高度な知性が生み出されるとする仮説
- 強いAI: 人間が行う知的活動を完全に模倣できるAIで、汎用的なAI(AGI)とも表現される
- 弱いAI: 特定の処理のみを実現するAIで、現在はこれが実現されている
- 今の時代に注目されているAIの技術領域: ディープラーニングもしくは機械学習を使ったAI
- 機械学習: 人間が行う「学習」をコンピュータープログラムによって実現すること
- ディープラーニング(深層学習): 機械学習の手法の一つで、また機械学習はAIの一種。内容の詳細は次回説明
- ディープラーニングで実現できていること: 画像の認識/生成、音声の認識/生成、自然言語処理(認識/生成)など
- ディープラーニングで将来的に実現される可能性があること: リアルタイム通訳、自動運転など
- ディープラーニング以外の機械学習の手法: 決定木、最近傍法、単純ベイズ分類器、サポートベクターマシン、ニューラルネットワークなど
Copyright© Digital Advantage Corp. All Rights Reserved.

