スキップしてメイン コンテンツに移動

『深層学習 Deep Learning (監修:人工知能学会)』 ☆4

人工知能学会が定期発行する学会誌『人工知能』に掲載された連載解説を単行本化した本。ディープラーニングの基礎から、画像認識・自然言語認識のような実践まで網羅的に書かれているので全体像をつかむには最適かも。

↑気になったらここからポチっと↑

見よう見まねで機械学習をやってきたので、後付けだけど機械学習について体系的に学んでみようの第五弾。なるべく平易に書こうとされていますが、学会誌であるため一定以上の前提知識がないと全てを理解することは困難かもしれません(僕は半分くらい理解できました)。

この本を読むとわかること

階層型ニューラルネットワークによる深層学習

深層学習(ディープラーニング)では音声や画像、大量の数値で構成されるビッグデータから特徴を抽出してモデルを作る多変量データ解析を行うため、膨大な情報の中から意味のある情報にフォーカスして(=重要度の低い情報を除外して)分析することが重要なのです。その手法として、主成分分析・次元削減などが紹介されています。

また、代表的な階層型ニューラルネットワークとしてボルツマンマシンに代表される相互結合型ニューラルネットワークや、順方向伝播型ニューラルネットワーク画像解析で使われる畳込みニューラルネットワークが解説されています。

順方向伝播型ニューラルネットワークの最適化の困難さと、効率よく最適化するための誤差逆伝播学習についても触れられています。雑に書くと、ニューラルネットワークの各ノード(パーセプトロン)にはS字型のシグモイド関数などがそのノードの出力値を決める活性化関数として組み込まれています。1つ後ろの階層は前の階層の出力値を引き継ぐので、前の階層の活性化関数を入れ子で持つようになります。階層が深くなるほど一番後ろの出力層が持つ活性化関数の入れ子が雪だるま式に多くなるので計算が大変なのです。誤差逆伝播学習はそれを逆手に取った逆転の発想で、出力層から入力層に逆流するように遡ります(出力結果を微分しながら遡っていきます)。

上記以外にも、出力結果から入力値を再現する砂時計型のニューラルネットワークである自己符号化器や、一度に全体を最適化せず1階層ごとに学習・最適化していく積層符号化器についても基本的な考え方が分かりやすく書かれています。

深層ボルツマンマシン

ボルツマンマシンは1980年代に考案された確率的相互結合型機械学習モデル(何のことやら分からないですね)ですが、当時のコンピュータの性能に対して計算量が大きすぎて現実的ではありませんでした。この確率的~というのは、観測されたデータは未知の確率分布によって生成されたものであり、その未知の分布を近似できるモデルを作ろうという考え方です。未知の分布を推定する手法としてベイズ推定やマルコフ確率場という数学的な推定手法が紹介されています(概念はなんとなく理解できたけど、数学的なところはちんぷんかんぷん)。

ボルツマンマシンには、ノードが増えることによる組み合わせ爆発(計算量の飛躍的な増大)という大きな欠点があり、まじめに計算せず数学的に近似するギブスサンプリングや平均場近似法という手法についても解説されています。

最後に現在の機械学習の基礎となった制限ボルツマンマシンについて解説されています。一般的なボルツマンマシンは各ノードが網目状に結合していますが、制限ボルツマンマシンは網目状ではなく階層状に結合します。双方向につながった階層型ニューラルネットワークなのです。

事前学習とその周辺

機械学習ではまりがちなのは、訓練データ(教師データ)に最適化された過学習が起こることです。モデル構築のために与えられたデータに対しては高い精度を示すものの、それ以外のデータに対する精度が低い状態です。汎化性能が低いとも表現されます。

この過学習を抑制する手法として、多層ニューラルネットワークの各パラメータに良い値を与える事前学習の手法について解説されています。

大規模深層学習の実現技術

ここまではディープラーニングの概念の解説が中心でしたが、これ以降は実践的な内容になります。

まずは、ディープラーニングにおける大量の計算の分散実行についてです。計算内容を細分化して複数のコンピュータで並列実行する手法や、並列計算に適したGPUを使う手法が紹介されています。

複数のコンピュータで並列実行する場合は、コンピュータごとに計算能力(CPU性能・メモリ量など)がばらつくので、タスクの細分化やタスクの割り当て方がポイントになります。わんこそばで例えると、1杯あたりのそばの量とつぐタイミングをどうすれば早く大量に食べられるのかということです。

GPUはCPUと比較して大量のコアを積んでいるため、並列計算に適しているのです。わんこそばで言うと、みんなで一気に食べる感じです。

他にもドロップアウトや蒸留といった効率よくモデルを最適化する手法や、ReLUなどの簡易に表現できる活性化関数など計算量を抑制する仕組みが紹介されています。

画像認識のための深層学習

画像認識で使われる畳込みニューラルネットワークについて図を交えて解説されています。畳込みニューラルネットワークは縦・横・奥行きなどを検出する畳込み層と、畳込み層からの出力を集約するプーリング層で構成されています。畳込み層は画像をぼかしたりエッジを協調するようなフィルタの役割をするのです。

アイサイトや自動運転などで使用されている車の周辺状況の認識や顔認識のような物体認識の難しさは角度の違いなどによる見た目の変動が大きいことであり、角度などに依存しない不変な特徴を取り出す必要があります。その手法として、SIFT (Scale invariant feature transform)と呼ばれる入力画像内の線分の長さや方向をマッピングして局所特徴を抽出する手法が紹介されています。

また、画像認識を行うニューラルネットワークでは下位層(入力データに近い層)で検出される特徴ほど不変性を持っていて、他の画像認識にも活用できるのだそうです。この性質を活かして下位層の学習結果を他のモデルに移植することを転移学習と呼び、効果が高いことが実証されているのだそうです。スパース正則化という画像認識の精度を大きく上げることのできる手法についても解説されています。

音声認識のための深層学習

音声認識では単語列から音素列を取出し、音声特徴ベクトルに変換し、その音声特徴ベクトルの系列から対応する単語列を推定します。例えば「ディープラーニング」という音に対して「で ぃ ぃ ぷ ら ぁ ぁ に ん ぐ」みたいな感じで一定時間間隔で音素を取り出して、音素をベクトル(数値)に変換して、辞書(AIのための単語帳的なもの)と照合して、一番近そうな単語を見つけるという感じです。単語がどのような確率で出現するかを記述する言語モデルを使うと音声認識の精度を上げることができます。「くるま」という言葉の後に続くのは「のる」「うんてんする」の確率が高いだろうと推測するようなイメージです。ここでは隠れマルコフモデルというものが紹介されています。

音声認識では後続の音声が直前の音声と密接に関係するので、言葉の時系列を考慮する必要があります。「くるまにのる」であれば、「くるまに」までの認識結果を保持しておき、続く言葉が「のる」だろうとアタリをつけるような感じです。ニューラルネットワークとしては、ノードの出力(認識結果)を次の音の認識の入力にする回帰結合ニューラルネットワークが使われます(認識した結果を次の音声認識に繰り返しいれていくようなイメージです)。具体的な手法として、時系列に対して恒等関数で重みづけをするLong Short-Term Memory法や同時に複数の情報入力するマルチストリーム学習、同時に複数の識別問題に対応できるニューラルネットを作るマルチタスク学習などが紹介されています。

また、音声認識では音声に含まれるフィラーを適切に除去できるかで精度が大きく変わってきます。フィラーとは意味を持たない音声のことで、日本語だと「えーと」とか「あー」、英語だと「you know」みたいなやつです。

自然言語処理のための深層学習

最後は機械翻訳やチャットボットなどで使われている自然言語処理についての解説です。まずは、評判分析・文書自動要約・機械翻訳などで使われているBag-of-wordsモデルが紹介されています。例えば機械翻訳では入力を正しく双方向に再現できるネットワーク構造を学習するのだそうです。MBAやってた頃、課題(英語で提出)を出す前に自分で書いた英文をGoogle翻訳に放り込んで意図した日本語になるかチェックしていました。AIも同じようなことやっているんですね。

音声認識でも登場した言語モデルでは単語が文書中に出現する確率を使います。例えば機械翻訳では翻訳した文書が翻訳先の言語でどの程度自然かを各単語の出現確率(頻度)を使って評価しているそうです。一昔前の機械翻訳は英和辞典の約をそのまま並べた直訳っぽいものでしたが、最近のGoogle翻訳などはだいぶ改善されているように思います。自然に近い訳ができるようになっている裏にはこのようなモデルが使われているんですね。

↓気になったらここからポチっと↓

関連情報

AI(機械学習)やってみた

AI(機械学習)関連書籍


ビッグデータ解析やってみた

ベストビュー(過去1カ月)

『九龍城探訪 魔窟で暮らす人々 - City of Darkness』 ☆4

魔窟とも言われた香港の九龍城の住人へのインタビューや、在りし日の写真集。香港の本土返還に伴い取り壊されてしまっているけど、その怪しさに妙に惹かれるのです。

【番外編】ボストン旅行記(UMASS Lowell卒業式編)【Day 4:卒業式】

UMASS Lowellの卒業式@Boston。4 日目は卒業式本番です。とても賑やかでアメリカンな式典でした。ただしあいにくの雨、僕曇り男なのに。。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day2:晩餐会】

UMASS Lowellの卒業式@Boston。 2日目は午前中はボストン観光、夕方から Hooding ceremonyという卒業生(大学院生)向けの晩餐会です。卒業式で被るHoodをもらいました。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day0:渡米前にやっておくこと】

UMASS Lowellの卒業式@Bostonについて、計画の立て方やら行く前にやっておくことやらをまとめておきます。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day1:ボストンへ】

UMASS Lowellの卒業式@Boston。 1日目は移動だけで終わりました。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day3:終日観光】

UMASS Lowellの卒業式@Boston。3 日目は終日フリーなので、ゆっくりボストンを観光しました。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day5:帰国】

UMASS Lowellの卒業式@Boston。5 日目にして帰国なのです。

【番外編】AI(機械学習)やってみた。【第3回】ソムリAI ~ニューラルネットワーク編~

AI(機械学習)やってみた、第3弾です。「ニューラルネットワーク(Neural Network)」を使ったソムリAIを作ってみようと思います。”ニューラルネットワーク”、見るからにAIっぽい名前ですよね。

【番外編】AI(機械学習)やってみた。【第2回】ソムリAI ~ロジスティック回帰編~

AI(機械学習)やってみた、第2弾です。前回は決定木(Decision Tree)を使ったソムリAI(ワインソムリエAI)を作りました。今回は「ロジスティック回帰(Logistic Regression)」というモデルを使ったソムリAIを作ってみようと思います。

『深層学習 (機械学習プロフェッショナルシリーズ)』岡谷 貴之 ☆4

ディープラーニングの理論を分かりやすく解説した本。複数の入力を受け取って1つの出力を返すパーセプトロンに始まり、現在のディープラーニングのブレイクスルーのきっかけになった制限ボルツマンマシンまで概念と理論を学ぶことができます。機械学習の理論をごまかさずに数式で説明しきることがコンセプトですが、数学が苦手でもおおよその概念は把握できるのです。サンプルコードが無料ダウンロードできるので、動かしながら学べるのもよいです。

ベストビュー(全期間)

Malaysia Quarantine Premium Package 【番外編】Malaysia赴任記 隔離ホテル情報

Once entering Malaysia, we need to be quarantined for 14days. At the beginning of COVID-19 spread, the hotel for quarantine have been determined randomly. In these days, we can choose "premium quarantine stay package" in advance . This article is summary of premium packages which I asked each hotel. Note: Information in this article might be old. It's better to confirm the latest plan to the hotel. Note: Only Hotel Istana can be booked via its homepage so far. As the other hotels don't show their premium package plans on their homepage, you need to contact them through their reservation E-mail address or "Contact us". マレーシア入国とともに14日間ホテルで隔離されます。当初は滞在ホテルがランダムに割り振られていたようですが、より快適なプレミアムプランが追加されました。各ホテルにどんなプランがあるのか聞いてみたので、聞いた内容をまとめます。 ※情報が古い可能性があるので、念のため最新情報を各ホテルに確認したほうがよいかもしれません。

【番外編】AI(機械学習)やってみた。【第1回】ソムリAI ~決定木編~

最近ブームのAI(機械学習)に手を出しました。まずは、決定木(Decision Tree)というモデルを使って「ソムリAI(ワインソムリエAI)」を作ってみようと思います。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day0:渡米前にやっておくこと】

UMASS Lowellの卒業式@Bostonについて、計画の立て方やら行く前にやっておくことやらをまとめておきます。

【番外編】AI(機械学習)やってみた。【第6回】乳がん診断AI その1

ソムリAI(ワインソムリエAI)で使った手法で乳がん診断AIを作ってみます。まずは決定木とニューラルネットワークの2つのモデルを試してみます。かなり高性能なモデルができました。名医誕生かもしれません 笑

【番外編】AI(機械学習)やってみた。【第3回】ソムリAI ~ニューラルネットワーク編~

AI(機械学習)やってみた、第3弾です。「ニューラルネットワーク(Neural Network)」を使ったソムリAIを作ってみようと思います。”ニューラルネットワーク”、見るからにAIっぽい名前ですよね。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day5:帰国】

UMASS Lowellの卒業式@Boston。5 日目にして帰国なのです。

【番外編】AI(機械学習)やってみた。【第2回】ソムリAI ~ロジスティック回帰編~

AI(機械学習)やってみた、第2弾です。前回は決定木(Decision Tree)を使ったソムリAI(ワインソムリエAI)を作りました。今回は「ロジスティック回帰(Logistic Regression)」というモデルを使ったソムリAIを作ってみようと思います。

【番外編】ボストン旅行記(UMASS Lowell卒業式編)【Day 4:卒業式】

UMASS Lowellの卒業式@Boston。4 日目は卒業式本番です。とても賑やかでアメリカンな式典でした。ただしあいにくの雨、僕曇り男なのに。。

【番外編】ボストン旅行記(UMASS Lowell卒業式編) 【Day2:晩餐会】

UMASS Lowellの卒業式@Boston。 2日目は午前中はボストン観光、夕方から Hooding ceremonyという卒業生(大学院生)向けの晩餐会です。卒業式で被るHoodをもらいました。

『深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト』 ☆5

一般社団法人日本ディープラーニング協会が実施している「Deep Learning for GENERAL (通称G検定 ) 」 の公式テキスト 。 ディープラーニングについて1冊で網羅的によくまとめられているので 、 ディープラーニングの入門書としてもおすすめです 。 ついでに勢いで資格も取ってしまいました 。 AI人材への第一歩なのです 笑