人工 知能 は 人間 を 超える か Chapter04(2)
実際 に サポートベクターマシン の 精度 は 高く 、よく 用いられて きた 。 ただし 、大きな データ を 対象 と した とき は 、計算 に 時間 が かかってしまう と いう 欠点 も ある 。 いま まで の 方法 が 、純粋に 機械学習 の 分ける という 「機能 」を エレガントな 方法 で 実現 しよう と している のに 対し 、ニューラルネットワーク は 、人間 の 脳 神経 回路 を まね する こと に よって 分けよう という もの である 。 人間 の 脳 は ニューロン (神経 細胞 )の ネットワーク で 構成 さ れて いて 、ある ニューロン は ほか の ニューロン と つながった シナプス から 電気 刺激 を 受け取り 、その 電気 が 一定 以上 たまる と 発火 して 、次の ニューロン に 電気 刺激 を 伝える 。 これ を 数学的に 表現 する と 、ある ニューロン が ほか の ニューロン から 0 か 1 の 値 を 受け取り 、その 値 に 何らかの 重み を かけて 足し 合わせる 。 それ が ある 一定 の 閾値 を 超える と 1 に なり 、超え なければ 0 に なる 。 それ が また 次の ニューロン に 受け渡さ れ る と いう 具合 である 。 ニューラルネットワーク を モデル 化 した の が 次 ページ の 図 15 で 、各 ノード が シナプス を 模して いる 。 下 の 層 の ニューロン から 受け取った 値 を かけ合わせ 、その 和 を シグモイド 関数 に かけて 出力する 。 シグモイド 関数 は 「オン ・オフ 」を 数学的に 扱い やすい ように する ため の 関数 で 、この 場合 は 0・1 な ので 、ほとんど 発火 して いない (オフ )状態 である 。 つまり 、次の ニューロン へ の 影響 は 小さい 。 一連の 流れ の 中 で 肝 と なる のは 重みづけ で 、人間 の ニューロン が 学習 に よって シナプス の 結合 強度 を 変化させる ように 、学習する 過程 で 重みづけ を 変化させ 、最適な 値 を 出力する ように 調整する こと で 、精度 を 高めていく 。 たとえば 、こんな 問題 だ 。 自分 の 出身 地 の 飲食 店 の 良し 悪し を 学習 する プログラム を つくる人 も いれば 、 自分 が 好きな アイドル の 画像 を 判定 さ せよう と する人 まで さまざまだ 。 これ まで 、機械 学習 の 分野 は 、自然 言語 処理 、構造化された データ 、画像 や 音声 など の マルチメディア 、ロボット など の 領域 で 研究 されてきた 。 中でも 、ウェブ の 登場 以降 は 、自然 言語 処理 と 機械 学習 が がっちり タッグ を 組んで 進んで きた 印象 が ある 。 ところが 、最近 の ブレークスルー は 、画像 認識 の 分野 から 起こった 。 したがって 、ここ で は 画像 に おける 機械 学習 を 例 に とって みよう 。 よく 使わ れ る 例 が 手書き 文字 認識 である 。 手書き 文字 認識 と は 何か というと 、郵便局 の 郵便番号 の 自動 読み取り で 使わ れる ような もの だ 。 図 16 の 左 下 の 図 の ように 、同じ 「3 」でも ゆがんだり 曲がったり 、伸びたり 縮んだり している が 、人間 なら この 程度 の 表記 の ゆらぎ は 難なく 「3 」だ と 判別 できる だろう 。 ところが 、これ が コンピュータ に は 難しい 。 どういう 画像 なら 「3 」で 、どういう 画像 なら 「8 」な の か 、あるいは 「5 」な の か 、と いう こと を 明示的に ルール として 与える こと は 難しい から である 。 手書き 文字 を 正しく 認識 できる ように なる ため の 訓練 用 データ として 、0 から 9 まで の 10 個 の 数字 を いろいろな 手書き 文字 で 表現した MNISTというデータセットがある。 画像 認識 の 世界 で は よく 使わ れ る 標準的な もの だ 。 この データ セット で は 、一つひとつ の 手書き 数字 は 28 ピクセル × 28 ピクセル = 784 ピクセル の 画像 と なっている (画像の データ としては とても 小さい )。 この 画像 が 7万 枚 あって 、それぞれ どの 数字 に 該当する の か という 正解 ラベル が つけられている 。 この 画像 を ピクセル 単位 に 分解 して ニューラルネットワーク に 読み 込ま せる 。 入力 層 と 出力 層 の 間 に ある のが 隠れ 層 であり 、入力 された データ は 、入力 層 から 隠れ 層 、隠れ 層 から 出力 層 へ と 出力 される 。 ニューラルネットワーク の 出力 層 で は 、0 から 9 まで に 対応 する 10 個 の ニューロン が あり 、それぞれ 値 が 出力される 。 図 の 場合 は 、「3 」である 確率 が 「0・40 」と なって 一番 高い ので 、この 手書き 文字 は 「3 」である と 判定 する こと に なる 。 なぜなら 別々の データ を 使って いる と 、よい アルゴリズム が できた の か 、たまたま データ が よかった だけ な の か 、わからない からだ 。 そして 、学習 を する 方法 、テスト を する 方法 について も 、標準的な やり方 が ある 。 エムニスト の データ を 使って 学習 する 際 は 、 たとえば 「3」 の 画像 を 入力 し 、 もし 間違って 「8」 と 判定 した 場合 は 、「 入力 層 」 と 「 隠れ 層 」 を つなぐ 部分 の 重み の 、「 隠れ 層 」 と 「 出力 層 」 を つなぐ 部分 の 重み の の 値 を 変えて 、 正しい 答え が 出る よう に 調整 を 加える 。 要するに 、1つ 前の 図 15の 重みづけの 数字 (図中で 楕円 で 示した 数字 )を 少しずつ 変化させて 、正しい 答え に なる ように 調整する のだ 。 この 重み づけ は 、いって みれば 、ニューロン 同士 を つなぐ 線 の 太さ である 。 この 線 の 数 は とても 多く 、隠れ 層 が 仮に 100 個 だ と する と 、784 × 100 + 100 × 10 で 合計 約 8万 個 ある 。 この 膨大な 数 の 重みづけ を 変えれば 、切り取られる 空間 の 形 が 変わる 。 その うち の 、ある 切り取り方 が 、数字 の 「3 」を 表す こと に なる 。 つまり 、約 8万 個 ある 重みづけ を うまく 調整 し ない と 、画像 の 「3」 を 見て 、正しく 「3」 と 認識 でき ない のだ 。 答え 合わせ を して 間違える たびに 重み づけ の 調整 を 繰り返して 、認識 の 精度 を 上げていく 学習法 の 代表的な もの を 「誤差 逆 伝播 ( Back Propagation )」と いう 。 どう 調整 する か というと 、全体 の 誤差 (間違う 確率 )が 少なく なる ように 微分 を とる 。 微分 を とる という の は 、つまり 、ある ひとつ の 重みづけ を 大きく する と 誤差 が 減る のか 、小さく する と 誤差 が 減る のか を 計算する ということ である 。 そして 、誤差 が 小さく なる 方向 に 、8万 個 の 重みづけ の それぞれ に 微調整 を 加えて いく 。 別な たとえ で 説明 する と 、ある 組織 に おいて 上司 が 判断 を 下さ ない と いけない 場面 を 考えよう 。 上司 は 部下 から の 情報 を もと に 判断 を 下す 。 自分 の 判断 が 正しかった とき は 、その 判断 の 根拠 と なった 情報 を 上げて きた 部下 と の 関係 を 強め 、判断 が 間違った とき は 、間違い の 原因 と なった 情報 を 上げて きた 部下 と の 関係 を 弱める 。 これ を 何度 も 繰り返せば 、組織 として 正しい 判断 を 下す 確率 が 上がって いく はずだ 。 つまり 、 正しい 判断 材料 が 下 ( 部下 ) から 上 ( 上司 ) へ 上がって いく 。 一方 、修正 を 加える とき は 、先ほど と は 逆に 、上 (上司 )の 誤差 (判断 の 誤り )から 出発して 下 (部下 )との 関係 の 強さ に 修正 を 加えて いく から 、誤差 逆 伝播 という わけだ 。 学習 フェーズ は 、1000 件 から 100万 件 ほど の 大量 の データ を 入力 し 、答え 合わせ を して 、間違う たびに と を 適切な 値 に 修正 する という 作業 を ひたすら 繰り返す 。 8万 個 の 重みづけ を 修正 する ために 、7万 枚 の 画像 を ひたすら 入力 し 続ける わけで 、この 作業 に は とても 時間 が かかる 。 通常 は 数 秒 から 、長い とき は 数 日間 かかる こと も ある 。 しかし 、いったん できて しまえば 、使う とき は 簡単で 、できあがった 重みづけ を 使って 、これまでの 訓練用 データ と は 違う 新しい データ を 入力して 、出力を 計算する 。 この 作業 は 一瞬 で 終わる 。 1 枚 の 画像 に 対して 、隠れ 層 を 計算 する ため の 簡単な 足し算 と 、出力 層 を 計算 する ため の 簡単な 足し算 を する だけ な ので 、1 秒 も かからない 。 この 手書き の 文字 が 「3 」を 表す と わかる ように なる まで 、生まれて から 数年 かかる が 、いったん わかって しまえば 、次 から は 見た 瞬間 「これ は 3 だ 」と わかる 。 それ と 同じ だ 。 余談 に なる が 、日本 は 高齢 化 社会 に なって きて おり 、高齢 の 方 の 学習 能力 は 、残念 ながら 若者 に 劣る 。 したがって 、新しい こと を 学習 する の は 大変だ 。 一方 で 、判断 ・識別 する 能力 は 、長い 年月 を かけて つくられて おり 、しかも 使う 際 に は 簡単に 早く 使う こと が できる 。 高齢 者 の 判断 ・識別 能力 を うまく 役立てて いく こと は 、昔 で 言えば 老人 の 知恵 を 活かす という こと だろう が 、高齢 化 社会 に おいて 重要な こと かも しれない 。 「こういう やつ は 将来 伸びる 」と か 、「組織 が こう なる と 悪い 傾向 だ 」など の 、人間 や 組織 など の 時代 を 経て も 変わらない もの を 見る 役割 として 、高齢 の 方 が 企業 の 会長 や 相談役 に いる のは よく わかる 。 判断 ・識別 能力 で 勝負 できる から である 。 この 技術 は 、ウェブ や ビッグ データ の 領域 で 広く 使わ れて いる 。 しかし 、機械 学習 に も 弱点 が ある 。 それ が フィーチャーエンジニアリング (Featureengineering)である 。 つまり 、特徴量 (あるいは 素性 という )の 設計 であり 、ここ では 「特徴量設計 」と 呼ぼう (*注 33 )。 特徴 量 と いう の は 、機械 学習 の 入力 に 使う 変数 の こと で 、その 値 が 対象 の 特徴 を 定量的に 表す 。 この 特徴 量 に 何 を 選ぶ か で 、予測 精度 が 大きく 変化 する 。 たとえば 、手書き 文字 認識 で は 、画像 の 中心 と 大きさ を 調整 して 特徴量 を 設計 する 必要 が ある 。 先ほど は 説明 を 単純 化 する ために 触れ なかった が 、ただ ピクセル 単位 に 分けて 読み込ませれば 精度 が 上がる わけで は ない のだ 。 特徴 量 を 何 に する か が 予測 精度 に 決定的 な 意味 を 持つ の は 、年収 を 予測 する 問題 を 考えれば わかりやすい 。 どこ に 住んで いる か 、男性 か 女性 か 、といった 特徴 量 から 年収 を 予測 する という のは 、ニューラルネットワーク や その他 の 機械 学習 の 方法 を 使って 学習する こと が できる 。 この とき 、特徴量 を 何 に する か 、言い換える と 、どんな 変数 を 読み込ませる か が 予測 精度 に 大きく 寄与する こと は 容易に 想像できる だろう 。 図 18 に ある ように 、「性別 」や 「居住 地域 」は 年収 と 関係 が ありそうだ が 、「身長 」は 疑問符 が つくし 、「好きな 色 」は それほど 関係ない はずだ 。 それ より は むしろ 、「年齢 」や 「職業 」「業種 」「保有 する 資格 」など の ほうが 年収 に 影響 する 可能性 が 高い 。 仮に 、データベース に 「誕生日 」と いう 項目 が 入って いても 、それ だけ で は よい 特徴量 で はない 。 誕生日 と 現在 の 日付 の 差 、つまり 「年齢 」と いう 値 に して 初めて 年収 予測 問題 に 寄与する ような 特徴量 と なる 。 ただ 、こうした 判断 は コンピュータ に は できない 。 機械 学習 の 精度 を 上げる の は 、「どんな 特徴量 を 入れる か 」に かかっている のに 、それ は 人間 が 頭 を 使って 考える しか なかった 。 これ が 「特徴 量 設計 」で 、機械 学習 の 最大 の 関門 だった 。