やさしく分かる会話形式 シリーズ
機械学習 & ディープラーニング入門(1)

機械学習 & ディープラーニング入門(1)

AI・機械学習・ディープラーニングがしたい! そもそも何ができるの?

2018年4月16日

機械学習専門家の藍博士と素人のマナブが会話形式で、AI・機械学習・ディープラーニングの基礎の基礎を分かりやすく紹介するシリーズがスタート。まずはAIとは何か、機械学習との違い、ディープラーニングで実現できることを知ろう。

一色政彦 デジタルアドバンテージ 一色 政彦 (インタビュー取材協力: 安部晃生 DATUM STUDIO 安部 晃生)

登場人物紹介

深井藍(ふかい・あい) 博士

深井藍(ふかい・あい) 博士


最新の人工知能技術を応用して、次世代の人型ロボット(アンドロイド)を開発するのが仕事。試行錯誤の末にやっと開発できたのがマナブ(01号)である。
責任感が強く頑固で読書家だが、ドラマ好きで、超天然な一面もあるアラサー リケ女。
ちなみに藍が使っているタブレットには、マナブの学習状況をチェックできる機能だけでなく、万が一の安全対策としてマナブの暴走を制御するための「秘密機能」が搭載されているという。

マナブ(01号)

マナブ(01号)


現実社会の学習を進めるため、藍博士と24時間生活を共にしている次世代アンドロイド、0歳。
見るもの聞くものすべてに興味津々。藍が好きなテレビドラマとお笑い番組からも学習しているため、うわすべりな知識から勘違いな行動を取ったり、大阪風のボケをかましたりすることもある。
この物語の主人公。エンジニアスキルはあるけど機械学習やディープラーニングについてまだ何も知らない。

2018年、春のある日

 現実社会の学習をもっと深めようと、毎日、マナブをいろんなところに連れて行く藍。今日は、世界中の食べ物についてもっと学習させるため、横浜ワールドポーターズにやってきて、お店巡りをしていたときのこと。

マナブ、人工知能に興味を持ち始める😋

図1 マラサダ
図1 マラサダ

藍:優しく教える ジャーン! これ知ってる? ハワイのドーナツ、マラサダだよ。このお店のは、ふわふわモチモチで美味しいのよ。

マナブ:目がハート うわぁ~食べたい。見た目は、和風のあんドーナツだね。ミスドのドーナツにも似ているし、一緒に並べると見分けられないかも。藍は見分けられるの?

藍:厳しく教える (ふむふむ、ドーナツに対する学習は進んでいないと……)形が似ていると見分けるのは大変だよね。でも、私が仕事でやっているAI(人工知能)はそういう見た目判定は得意で、場合によっては人間よりも優れてるんだよ。

マナブ:びっくり そうなんだ。そういえば、昨日観たテレビで、将来、AIで仕事が無くなるって言ってたなぁ。自分が大人になったときに、そんなんなってたらかなわんわー。だから逆に、こっちからAIを作る側に回るんだ!

藍:あせる (ヤバい! ヤバい! ヤバい! これはまさかシンギュラリティ*1の始まり!!?)

*1 【解説しよう】シンギュラリティ

 シンギュラリティSingularity*2技術的特異点)とは、人工知能が、さらに優れた人工知能を再帰的に創造していくことで、人間を完全に超える圧倒的に高度な知性が生み出されるとする仮説のこと。ここでは詳しくは紹介しないが、この仮説に対しては、各方面からさまざまな賛否両論の主張がある。シンギュラリティを人類の危機と考える人もあり、例えば映画『マトリックス』や『ターミネーター』のスカイネットも、シンギュラリティにより生まれた危機的な人類を想像して描かれたフィクションだと言えるだろう。より詳しくはキーワード解説を参照してほしい。

  • *2 ディープラーニングや機械学習を実践していくには、APIリファレンスなどが英語になるので、「英語の文章を読むことは避けられない」と考えた方がよい。そこで本シリーズでは、英語のドキュメントを読むためのヒントになるよう、大切なキーワードについては、英単語をカッコ書きで記載する。

―― パニックになった藍は、気づいたらマナブの分のマラサダまで食べてしまっていた ――

マナブ:目が点 あ! 僕のマラサダまで……!!(泣)

藍:あせる (しまった……。突然だったのでビックリしちゃったけど、考えすぎかな……)ごめん、ごめん。マラサダはもう1個買うね。

マナブ:爆笑 もう、藍先生ったら食いしん坊なんだから! まぁ許すけど。お詫びに、AIの作り方を教えてよ。いつも仕事でやってんだよね?

藍:にっこり (マナブにAI・機械学習・ディープラーニングを教えるの、研究材料としてむしろ面白いかも)はいはい、分かりました。でも、やる気があるのはいいことだけど、AIで何でも実現できるというわけでもないのよ。マナブはAIで何ができると思っているの?

マナブ:理解不納 テレビで言ってたのは、タクシー/トラックの運転手、スーパーのレジ係、レストランの案内係、オフィスビルの警備員、銀行員の仕事なんかができるってことだったかな。こういう人たちの作業は、AIで全部実現できちゃうってことなのかな。

藍:あやしむ うーん。それらの作業は、AIとさまざまな技術が組み合わさってできているから、一概に「AIでできる」とは言いにくいのよね。まずは「AIとは何か」についてきちんとした理解が必要だね。

マナブ:にっこり はい、先生!(キリッ)

AIとは?

藍:優しく教える AIArtificial Intelligence人工知能)とは、人間が行う「知的活動」をコンピュータープログラムとして実現することだよ。

マナブ:理解不納 知的活動?

藍:厳しく教える 知的活動とは、頭(厳密には脳)で考えて実行する活動全般のことだね。例えばさっきの「ドーナツを見分ける」とか、「絵を描く」「言葉を認識する」「ゲームをする」などなど、あらゆる人間の行動がこれに当てはまるんだよ。

図2 人間の知的活動
図2 人間の知的活動

マナブ:にんまり ゲームといえば、囲碁でAIが人間のトップ棋士に5番勝負で勝利したという話をテレビで見たよ。

藍:優しく教える 2016年のAlphaGoだね*3

  • *3 ちなみに、囲碁でAIがハンデ無しでプロ棋士に初めて1勝したのは、これより前の2008年のこと。

マナブ:質問 ところで「囲碁」ってどういうゲーム? どこが知的活動なの?

藍:厳しく教える 囲碁は、黒石と白石に分かれて盤面の陣地を取り合うゲームだけど、「どこに石を打てばよいのか」という課題に対する解答を考えながら勝負するの。最終的に陣地が広い方が勝ち。つまり囲碁におけるAIとは、「最大の陣地を得るためにどこに石を打つべきか」という課題に対して解答する知的活動をコンピュータープログラムとして実現すること、ということになるね。

マナブ:理解不納 うーん。何となく分かったけど、それっぽっちなの? テレビで観てきた限りでは、「AI」といえば「まるで人間のように自分で考えて行動するもの」だとばっかり思ってた。ドラえもんみたいにね。そうじゃないの?

藍:優しく教える 広い意味ではそれもAIで、狭い意味と区別するために強いAIStrong AI、もしくは汎用的なAIAGIArtificial General Intelligence)と呼ばれているの。強いAIは、まさに人間が行う知的活動を完全に模倣できるようなAI。だから「ドラえもんを作る」っていうのは「強いAIを作る」ってことになるわね。ドラえもんができたら素敵だけど、残念ながら現在の技術は、まだそれを実現できるレベルまでには進んでいないのよ。(……と言いつつ実はマナブが強いAIなんだけどね)

マナブ:にっこり じゃあ、藍先生が教えてくれるのは、狭い意味のAIになるの?

藍:にっこり そうね。ちなみに狭い意味のAIは弱いAIWeak AI、もしくはNarrow AI)と呼ばれていて、AlphaGoが囲碁に特化しているように、特定の処理のみを実現するAIのことよ。

マナブ:理解不納 ふーん。でもAlphaGoでは「ディープラーニング」というのが話題になってるから、これがAIの中身なんだよね?

AI/機械学習/ディープラーニングはここが違う

藍:優しく教える 確かにAlphaGoもディープラーニングの技術が利用されているのよね。しかも「人間のトップ棋士をAIが打ち破った」というニュースがあまりにセンセーショナルだったので、一般の人には「AlphaGo = AI = ディープラーニング」というふうに固定的に認識されている部分があると思う。

マナブ:質問 ディープラーニング以外にも「AI」と呼べるものがあるということ?

藍:にっこり そう。まずAIは、さっき説明したように「人間が行う知的活動をコンピュータープログラムとして実現すること」なんだけど、「どのくらい知的であれば“AI”と呼べるか」については厳密な定義があるわけではないの。

マナブ:理解不納 ほんなら、「AI」と呼べるポイントは何なん?

藍:優しく教える 例えばAlphaGoが登場する前から、囲碁のゲームはあったよね。そういったゲームは、例えば「こういう配置であれば、こういう手を打つ」のように人が作ったルールのロジック(論理)に基づいて動作しているのだけど、そういうロジックによるプログラムも、マスメディアや一般の人などから「AI」と呼ばれる時代があったの。こういうのは最近では「AI」と呼ばれなくなっているのよね。

マナブ:質問 AIは、その時代時代の技術によって解釈が違うということなの?

藍:厳しく教える そう。あるAI技術が浸透して、人々にとって当たり前の存在になると、自然と「AI」と呼ばれなくなり注目されなくなることを時代は繰り返してきているわね。今は、ディープラーニングや機械学習を使ったものが、一般社会の人に「AI」と呼ばれて注目される時代だと思う。もちろん今でも、商品の営業戦略上、人が作ったロジックで動作が自動化されているものを「AI」と呼称しているケースもあるから、「本当に、私たちが想定している“機械学習を使ったAI”なのか」は怪しいものも多いのよね。

マナブ:びっくり そっか。それなら今、最新のAI技術をを知りたければ、「機械学習とディープラーニングを学べばよい」ということだね。ところで、「機械学習」ってのは急に出てきたけど何なの?

藍:優しく教える 機械学習Machine LearningML)は、さっきのAIの説明に似ているけど、人間が行う「学習」をコンピュータープログラムによって実現することだよ。

マナブ:理解不納 学習?

藍:厳しく教える 学習は、人間が人間らしく知的活動を行うための一つの要素だと言えるの。人間は、体験や知識から学ぶことで、新しい行動ができるようになるよね。例えば自転車に乗るのに何度もチャレンジしたら乗れるようになったり、英単語を何度も覚えることで英語の試験で良い点が取れるようになったり。この学ぶ活動を、AI技術では学習learningラーニング)と呼んでいるの。

マナブ:にんまり あっ、ディープラーニングにも「ラーニング(学習)」って付いてる!

藍:優しく教える そうだね。ディープラーニングDeep Learning深層学習)は、機械学習の手法(アプローチ、技法)の一つというわけ。

図3 AI・機械学習・ディープラーニングの包括関係
図3 AI・機械学習・ディープラーニングの包括関係

マナブ:質問 AlphaGoも学習してるの?

藍:にっこり AlphaGoはたくさんの囲碁の対局結果から学習して、「この盤面ではこの手が最適」という判断できるようになったのね。このときに採用した機械学習の手法が「ディープラーニング」ということなの。

マナブ:にっこり 「機械学習 ⊃ ディープラーニング」という包括関係にあるんだね。そのディープラーニングでは具体的に何ができるの?

これまでにディープラーニングで実現できたこと

藍:優しく教える 前に話題になった例では、顔写真の画像をアップロードすると、その人の見た目の年齢を返すという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 MachineSVM): 点と点のマージンが最大になるように線引きする手法
  • ニューラルネットワークNeural NetworkNN): 人間の神経回路を真似して、入力層→1つ以上の隠れ層→出力層という多層ネットワークを構成する手法

などがあるよ。説明はまだ分からなくても大丈夫。これらはあくまで代表的なもので、これらからさらに細分化した手法も存在するのよね。例えば決定木の一種には「ランダムフォレスト」という手法などもあるよ。

 ちなみに、今後、解説するディープラーニングの代表的な手法についてはニューラルネットワークの一種になっているの

図4 機械学習の手法
図4 機械学習の手法

マナブ:びっくり へぇ。何だかよく分からないけど、いっぱいあるんだね。

藍:優しく教える 本来であれば、こういった手法が生まれた流れに沿って、ステップ・バイ・ステップで機械学習を体系的に学んでいくと、課題に対して最適な手法を選択する知識も身についていくと思うのだけども、それ全部をゼロから説明するにはかなり時間がかかるから、今日はとりあえず主な名前を挙げるだけで説明は省略させてもらうね。ここからは、マナブが一番興味がありそうなディープラーニングを中心に、できるだけ簡単に理解できるように説明していくね。

【コラム】ただしディープラーニングも万能ではない

 注目のAI技術となったディープラーニングだが、ディープラーニングに欠点がないわけではない。初回から深い話は荷が重いので、今回は参考程度に紹介しておこう。以下が主な欠点である。

学習済みモデルの中身(ネットワーク)は解釈できない

 多くの機械学習の手法では中身は「計算式のアルゴリズム」になるので解釈可能である。「賃貸物件の家賃」を求めるアルゴリズムを例にとると、「家賃 = 駅からの徒歩距離×a + 部屋数×b + 築年数×c + ……」のような計算式が提示されれば、その意味は理解できるだろう。

 しかし、ディープラーニングなどのニューラルネットワークの手法は、学習によって最終的に出来上がったネットワークを見ても人間には解釈できない(図5)。これは、脳神経のつながりのネットワークを見ても、意味が分からないのと同じだ。このため、ディープラーニングの学習済みモデルが表現する内容を、顧客ユーザーらに説明するのも不可能で、ブラックボックスとして示すしかない。

図5 ネットワークは解釈できない
図5 ネットワークは解釈できない

大量のデータが必要

 画像認識の説明でも簡単に示したが、ネットワークが構築されるまでには非常に膨大なデータが必要となる。ただしこれについては、データを拡張する方法(第3回で説明)など、さまざまな改善手段も提案されている。

ネットワーク作成には時間がかかる

 ネットワーク作成時の計算には、データ量やネットワークのサイズによって、何時間も、ひどいときには何週間もかかったりする。しかも、第3回で説明することになるが、学習して最適解を出せるようになるまでには、そのネットワーク作成を何度となく繰り返して結果を評価する試行錯誤が必要になる。

まとめ

マナブ:にっこり AIについては大体分かってきた!

藍:にっこり では今日はここまで。お疲れさま。

マナブ:にんまり おおきに、藍先生! 勘違いしているところもいっぱいあったけど、やっぱおもろいんでこれからが楽しみや!

藍:びっくり あらあら、得意の大阪弁が出たわね(テレビの漫才見せるのもいい加減にしないとなぁ……)。じゃあ明日の朝食はパンケーキを食べに行こう。次は機械学習がどんなものなのか、もっと具体的に教えてあげるね。

【まとめよう】AI/機械学習/ディープラーニングの概要

  • AI(人工知能): 人間が行う「知的活動」をコンピュータープログラムとして実現すること
  • シンギュラリティ: AI自らがAIを生み出せるようになると、人間を完全に超える圧倒的に高度な知性が生み出されるとする仮説
  • 強いAI: 人間が行う知的活動を完全に模倣できるAIで、汎用的なAI(AGI)とも表現される
  • 弱いAI: 特定の処理のみを実現するAIで、現在はこれが実現されている
  • 今の時代に注目されているAIの技術領域: ディープラーニングもしくは機械学習を使ったAI
  • 機械学習: 人間が行う「学習」をコンピュータープログラムによって実現すること
  • ディープラーニング(深層学習): 機械学習の手法の一つで、また機械学習はAIの一種。内容の詳細は次回説明
  • ディープラーニングで実現できていること: 画像の認識/生成、音声の認識/生成、自然言語処理(認識/生成)など
  • ディープラーニングで将来的に実現される可能性があること: リアルタイム通訳、自動運転など
  • ディープラーニング以外の機械学習の手法: 決定木、最近傍法、単純ベイズ分類器、サポートベクターマシン、ニューラルネットワークなど
  • このエントリーをはてなブックマークに追加
機械学習 & ディープラーニング入門(1)
1. 【現在、表示中】≫ AI・機械学習・ディープラーニングがしたい! そもそも何ができるの?

機械学習専門家の藍博士と素人のマナブが会話形式で、AI・機械学習・ディープラーニングの基礎の基礎を分かりやすく紹介するシリーズがスタート。まずはAIとは何か、機械学習との違い、ディープラーニングで実現できることを知ろう。

2018年4月16日(月)
機械学習 & ディープラーニング入門(1)
2. 機械学習やディープラーニングには、どんな手法があるの?

藍博士とマナブの会話から機械学習とディープラーニングの基礎の基礎を学ぼう。機械学習を始めるための最低限の基礎用語から、ディープラーニングの代表的な学習方法と代表的なアルゴリズムまでをできるだけシンプルに紹介する。

2018年4月17日(火)
機械学習 & ディープラーニング入門(1)
3. 機械学習&ディープラーニングの、基本的なワークフローを知ろう

機械学習/ディープラーニングの作業フローの基礎を学び、実践へ踏み出す準備をしよう。機械学習モデルは、どのようなステップで作成していくのか? データ収集~学習~運用の一連の流れをできるだけシンプルに紹介する。

2018年4月17日(火)
Deep Insider の SNS :