G検定(ディープラーニング)の勉強を開始

今年は機械学習を集中的に学習するということで基本的なことから軽く学び始めています。まずはJDLA(日本ディープラーニング協会)が出しているG検定(ジェネラリスト検定)の学習を始めました。

3章までテキストを読み終えたので復習がてら、まとめておきたいと思います。

人口知能の定義

1956年にアメリカで開催されたダートマス会議において、ジョン・マッカーシーが初めて用いた言葉「人口知能」。推論、認識、判断など、人間と同じ知的な処理能力を持つ機械(情報処理システム)。人口知能の定義は、日本の有識者の定義もそれぞれ異なっており、これと言って断定的な定義はまだない状態のようです。

人工知能の段階は4段階。

  • レベル1:シンプルな制御プログラム:エアコンの温度調整機能のようなシンプルな制御が第1段階。すべての振る舞いがあらかじめ決められている状態。
  • レベル2:古典的な人口知能:探索・推論・知識データを利用することで、状況に応じて極めて複雑なふるまいをする。
  • レベル3:機械学習を取り入れた人工知能:非常に多くのサンプルデータをもとに入力と出力の関係を学習
  • レベル4:ディープラーニングを取り入れた人工知能:特徴量と呼ばれる変数を自動的に学習するサービスや製品

仕組みがわかってしまうとAIではないと感じてしまう人間の心理効果のことをAI効果と呼ぶ。

人工知能研究の歴史

世界初の汎用コンピュータ:エニアック(ENIAC)。

ダートマス会議:マーヴィン・ミンスキー、ジョン・マッカーシー、アレン・ニューウェル、ハーバート・サイモン、クロード・シャノンなど、後に人工知能や情報理論の研究で重要な役割を果たす著名な研究者たちも参加。知的に行動したり、思考したりするコンピュータプログラムについて議論された。

  • 第1次AIブーム(推論・探索の時代:1950年代後半~1960年代):トイプロブレムは解けても現実問題は解けない。
  • 第2次AIブーム(知識の時代:1980年代):エキスパートシステムが量産される。第5世代コンピュータが推進。
  • 第3次AIブーム(機械学習・特徴表現学習の時代:2010年~)ビッグデータを機械学習により学習することで実用化。知識を定義する要素(特徴量)を人工知能が自ら修得するディープラーニング(深層学習)が登場。シンギュラリティ—の懸念などが広まった。

探索・推論

迷路(探索木):迷路をコンピュータで処理できる状態に変換して場合分け問題に変換。幅優先探索は最短距離でゴールにたどり着く解を必ず見つけるがメモリ消費量が多い、深さ優先探索はメモリ消費量が少ないがランダム性が高く確実に最短距離でゴールを見つけられるとは限らない。

ハノイの塔。

ロボットの行動計画(プランニング)。前提条件、行動、結果の3つの組み合わせで記述するSTRIPS。その実装例は、SHRDLU で1968年から1970年にかけてテリー・ウィノグラードによって開発されたシステム。「積み木の世界」で自然な会話をすることができた。Cycプロジェクトに引き継がれる。

ボードゲーム:AlphaGo(アルファ碁)が人に勝つ。効率よく探索するためのコストという概念を取り入れた。コストがかかりすぎる探索を短縮するために利用する知識をヒューリスティックな知識と呼ぶ。Mini-Max法:自分が指す時にスコアが最大で相手が指す時にスコアが最小になるように計算する方法。Min-Max法による探索を出来るだけ減らす手法をαβ法とよび、αカット、βカットなどが用いられた。モンテカルロ法:ゲーム盤のスコア(コスト評価)の問題に対処し、ブルートフォース(力任せ)な計算力ですべてのバリエーションを計算。終局されることをプレイアウトと呼び、プレイアウトを計算して、勝てる方法を計算する。

知識表現

人工無能:チャットボット、おしゃべりボット、イライザ(ELIZA):人口無能の元祖

エキスパートシステム:ある専門分野の知識を取り込み、その分野のエキスパート(専門家)のように振舞うプログラムをエキスパートシステムと呼びます。マイシン(MYCIN):初期のエキスパートシステム、スタンフォード大学で開発。血液中バクテリアの診断支援をするシステム。マイシンは69%の確立で正しい処方ができた。DENDRAL、最初期のエキスパートシステムで1960年代に開発された。1977年に知識工学を提唱。知識獲得のボトルネック:専門家、ドキュメント、事例などから知識獲得するも暗黙的である場合が多く、インタビューを効率化するためにインタビューシステムなどの研究もおこなわれた。知識ベースを保守するのが困難になってきた。

異味ネットワーク(Semantic Network):概念をラベルの付いたノードで表す。ia-a関係は継承関係で上位概念と下位概念の関係を表す。part-of関係は属性を表す。

オントロジー:概念体系を記述するための方法論:Cycプロジェクト:すべての一般常識をコンピュータに取り込もうとする試み。哲学用語の存在論(存在に関する体系的理論)に由来。概念間の明示的な仕様。言葉(語彙)やその意味またはそれらの関係性を他の人とも共有できるように、明確な約束事(仕様)として定義しておくもの。

概念間の関係(is-aとpart-ofの関係):is-a関係には推移律が成り立つ。part-of関係には推移律が成り立つものと成り立たないものがある。

オントロジーの構築:オントロジーの構築方法には、次の2種類がある。

  • ヘビーウェイトオントロジー(対象世界の知識をどのように記述すべきかを哲学的にしっかり考えて行うもの)。Cycプロジェクトはヘビーウェイトオントロジーの例。
  • ライトウェイトオントロジー(効率を重視しし、とにかくコンピュータにデータを読み込ませてできる限り自動的に行うもの)がある。

IBMが開発したワトソンはQuestion-Answering(質疑応答)という研究分野。ウィキペディアの情報を基にライトウェイト・オントロジーを生成して、回答に使っている。質問に含まれるキーワードと関連しそうなものを高速に検索して返事をするシステム。

機械学習・深層学習

機械学習:人口知能のプログラム自身が学習する仕組み。サンプルデータの数が多ければ多いほど、望ましい学習結果が得られる。ビッグデータ(インターネットの成長とともに蓄積された大容量のデータ)をベースに成長。レコメンデーションエンジンやスパムフィルターなどで実用化。

統計的自然言語処理。コーパス(複数の単語yあひとまとまりにした単位)をベースに機械学習を実施。

深層学習:ニューラルネットワークは人間の神経回路を真似することで学習を実現しようとするもの。元祖は米国の心理学者フランク・ローゼンブラットの単純パーセプトロン。ディープラーニングはニューラルネットワークを多層にしたもの。パーセプトロンの限界の後、ニューラルネットワークを多層にして誤差逆伝搬法(バックプロパゲーション)と呼ばれる方法を用いて学習すれば克服できることが発見された。多層化しても学習精度が上がらない問題は、自己符号化器(オートエンコーダ)の研究や層間の伝搬方式の研究により学習精度を上げられるようになってきた。

2012年、ILSVRCでトロント大学のSuperVisionが圧倒的勝利。当時機械学習の特徴量を決めるのは人間でしたが、特徴量も計算によって求める機会学習方法である深層学習を考えだしました。この時のニューラルネットワークモデルは、AlexNetと呼ばれています。

人工知能分野の問題

トイプロブレム(おもちゃの問題):現実問題は複雑すぎるので簡単な問題にしてコンピュータに扱えるようにした問題のこと。実際には、現実の問題は難しいため、そう簡単に解くことはできない。

フレーム問題は「今しようとしていることに関係のあることだけを選び出すことが、実は非常に難しい」という問題。ロボットと爆弾の問題で、1号はそのまま持ち出して爆発、2号は持ち出す方法の計算中に爆発。3号は持ち出す方法の計算方法の計算中に爆発。結局どこまでを考えるべきなのかを決めきるのが難しいが、人間はその判断を柔軟に行っているという問題。

チューリングテスト(人口知能ができたかどうか判定する方法):アラン・チューリングが提唱したチューリングテストでは、別の場所にいる人間がコンピュータと会話をし、相手がコンピュータだと見抜けなければコンピュータには知能があるとするもの。チューリングテストを目指すソフトウェアコンテストのローブナーコンテストも毎年開催されている。

強いAIと弱いAI:アメリカの哲学者ジョン・サールが1980年に発表した論文「脳、心、プログラム」で提唱した区分。強いAIとは、適切にプログラムされたコンピュータは人間が心を持つのと同じ意味で心を持つ。またプログラムそれ自身が人間の認知の説明である。弱いAIとは、コンピュータは人間の心を持つ必要はなく、有用な道具であれば良いとする考え方。ジョン・サールは強いAIは実現不可能と説くために「中国語の部屋」という思考実験を提唱した。

中国語の部屋とは、英語しかわからない人が部屋に閉じ込められており、その部屋では中国語の辞書が備えられているとした場合に、部屋の外から中国語で受け答えをすると、部屋の中から中国語で受け答えができるというもの。チューリングテストの拡張であり、コンピュータは記号操作を行っているだけで、心にとって本質的な意味論を欠くと主張したもの。

シンボルグラウンディング問題(記号接地問題):人間は縞(Stripe)も馬(Horse)の意味もわかっているので、シマウマ(Zebra)を見たときにもシマウマと認識できる。コンピュータはこれを識別できない。身体性に着目したアプローチでは、体中の神経を経て知覚して意味を理解するとしたもの。

知識獲得のボトルネック:機械翻訳は1970年代後半はルールベース機械翻訳だったが、1990年代以降は統計的機械翻訳が主流になった。統計的機械翻訳レベルでも実用は遠く、コンピュータが意味を理解できていなかった。これを知識獲得のボトルネックを読んた。最近になり、ディープラーニングを用いたニューラル機械翻訳が登場した。2016年のGoogle翻訳にも利用され、実用レベルになった。

特徴量設計:深層学習は特徴量設計を自動的に行う機械学習アルゴリズムの1つ。ニューラルネットワーク自身が複数ステップのコンピュータプログラムを学習できる。与えられた問題を解くために必要な処理(プログラム)に役立つ情報が特徴量として抽出されているとも考えられる。

シンギュラリティ—(技術的特異点):人間の想像力が及ばない超越的な知性が誕生するタイミングのこと。未来学者で実業家のレイ・カーツワイルはシンギュラリティ—が2045年と予想。人工知能が人間より賢くなると想定しているのが2029年。