Zenn
🔥

読書記録「図解まるわかり AIのしくみ」<1~5章>

に公開

概要

書籍「図解まるわかり AIのしくみ」の読書記録である
第1章から第9章までのうち、第1章から第5章までをまとめる

第1章:AIの基本

AIの定義

AIは人工知能の略だが、厳密に定義することは難しい
本記事では、「知能があるように振る舞うAI(弱いAI、特化AI)」を指す

AIの歴史

AIブーム 事象
1956年 第1次 ダートマス会議にて、初めて「Artificial Intelligence」という言葉が使用される
第1次 AI研究に対しての投資が加速
第1次 「高性能AIはすぐに登場しない」とわかったことによって、投資が一斉にストップ
記号主義(形式主義)コネクショニズムの方向性に大きく分かれる
1970年代頃 第2次 CPUやHDDの進歩によって情報の高速処理と大容量データの保持が可能になり、人間の質問に答えるエキスパートシステムなどが開発された
1990年代 AIを商用的に使用することが難しいとなり、「期待はずれ」と認知されることになった

備考:
データ収集方法が限られていたので知識量に限界があったことや、記号主義が主流だったことで感覚的な情報や曖昧な数値を適切に扱うことができなかった
2010年代 第3次 機械学習の手法であるディープラーニングの登場

備考:
画像認識などの分野でブレイクスルーを起こし、スマホやIoT機器が社会全体に広がったことで機械学習の応用範囲が急拡大した
2020年代 第3次 複数のアルゴリズムや手法などを組み合わせ、より複雑で複合的なタスクを行うための実践的な研究を実施している

コネクショニズム

説明
処理方法 脳の神経ネットワークを模倣する
重視ポイント 感覚・経験
  • コネクショニズムの中心技術であるニューラルネットワークは、機械学習ディープラーニングの土台である
  • 学習能力を持ち、AIの可能性を広げる手法として第1次AIブームから注目をされていたが、多層化(ディープ化)の実現が難題であった
  • 50年に及ぶ研究が結実した
    • 学習効率を上げる方法であるディープラーニングが見つかった
    • インターネットの普及により大量のデータを容易に取得できるようになった

記号主義

説明
処理方法 人間の論理的な考え方をアルゴリズムに組み込む
重視ポイント 理屈
  • 論理的な思考の流れをプログラムに組み込む
  • 感覚的タスクはコネクショニズム的なアプローチへ代替され、新しい立場を獲得中
    • 論理的に処理を行うため、思考回路は単純明快
    • 処理実行速度が速い
    • 消費エネルギーが少ない

技術の商用化

  • 画像認識など、多くの分野でAI技術が活用されている
  • プライバシーの侵害など、新しいトラブルが発生する可能性

第2章:AIやプログラムの基本的なしくみ

存在意義と手段

  • 存在意義
    AIやプログラムには目的があり、それを達成すること
    例)料理の課題解決をするプラットフォームをつくる

  • 手段
    アルゴリズムという、プログラムの手順書
    複数のアルゴリズムを組み合わせて構成されることもある

探索アルゴリズム

あらゆるプログラムに用いられる基本形のアルゴリズム

データ構造 探索方法
リスト構造 線形探索
二分探索 etc...
木構造・グラフ構造 幅優先探索
深さ優先探索
モンテカルロ探索 etc...
  • 線形探索
    上から順番に調べる


  • 二分探索
    探索対象がどのあたりに存在するかのあたりをつけて調べる
    ※規則に沿って並べられている前提


  • 幅優先探索
    同じ高さのものを全て調べてから、次の高さにあるものを調べる


  • 深さ優先探索
    深いところまで全て探してから、次のものを調べる


  • モンテカルロ探索
    探索対象がどのあたりにあるか確率論的な要素で評価し、評価の高いものから調べる

ソートアルゴリズム

名前順などの法則に沿ってデータを並べ替えたり、頭文字で索引を作成するなど、データを見やすくするためのアルゴリズム
AIの思考スピードにも影響を与える

  • バブルソート
    最初から順番に2つの情報を比べて順番を入れ替える


  • 選択ソート
    最小値から順番に並べていく

暗号アルゴリズム

特定の人だけが読めるようにするためのアルゴリズム
鍵のついた箱に文書を入れて鍵をかけ(暗号化)、鍵を使って箱を開けて文書を読む(復号)イメージ

  • 共通鍵暗号
    箱を閉じる鍵と開ける鍵が同じもの

  • 公開鍵暗号
    箱を閉じる鍵と開ける鍵が違うもの
    箱を閉じる公開鍵をみんなに配り、箱を開ける鍵秘密鍵を文書を読む人だけが持つ

アーキテクチャ

アルゴリズムの使い方やDBの組み合わせ方法などの考え方をざっくりとまとめた設計図のこと

エージェント

  • ソフトウェアエージェント
    一定の自律性・継続性・協調性を持つプログラムのこと

  • マルチエージェント
    複数のエージェントが組み合わさっているプログラムのこと

  • エージェントアーキテクチャ
    優れたエージェントを設計する手法
    ※高度な自律性と協調性を持つエージェントの設計は簡単ではない

思考法と意思決定手法

さまざまな手法があるが相反するものではなく、方向性の違いに名前をつけているだけであり、組み合わせ可能である

  • ルールベース
    人間の論理的思考をルール化し、そのルールに従って動作する意思決定方法


  • 知識ベース
    人間の論理的思考を知識化し、その知識に従って動作する意思決定方法


  • ステートベース
    いくつかの状態(ステート)を定義し、その状態をルールに応じて変更することでタスクを実行する思考モデル
    この思考方式で動作するプログラムや機械をステートマシンという


  • ゴールベース
    シンプルな動作で目的を達成できない場合、目的達成のために必要な行動を1つずつ計画し、実行する思考法


  • タスクベース
    ゴールベースの各タスクを分割し、タスク実行時に柔軟な対応ができるように自律性がある思考法
    ゴールベースの考えがもとになっている

  • ケースベース
    過去の事例を知識化・データベース化し、事例を参考にするアプローチを使った思考法
    シミュレーションベース
    実際の事例ではなく、AI自身がシミュレートした世界で最良の判断を考える思考法

第3章:AIにおけるデータの取り扱い

構造化データ

データに含まれている情報が、それぞれ何を意味するかわかりやすく作っている
メタデータ:タグ・ラベルなど、多くのケースで使用されている情報を識別するための情報

非構造化データ

構造化されていないデータ

非構造化データに分類されていたデータも、AIによって構造化データに変換できるケースが増えている
例)Teams会議の自動生成議事録

データと知識

  • データ
    純粋な情報

  • 知識
    データを「認識」「理解」するなど、情報の扱い方までを含む

  • オントロジー
    知識をどのように解釈すればAIに理解できるかと基本とした、AIに知識を学ばせる方法の1つ

  • 知識表現
    AIにもわかる形でデータを知識化する

統計学とデータサイエンス

AI・統計学・データサイエンスの相性は良く、密接な関わりがある

  • 統計学
    データの見方を考える学問

  • データサイエンス
    統計学にさまざまな理論を結びつけ、データを解釈したり活用したりする

データマイニング

データから価値ある情報を掘り出す技術のこと
ただし、特定の技術を表すものではないので、手法や技術は多岐にわたる

発見型:未知のものを見つける
検証型:仮説を検証する

  • テキストマイニング
    文章にターゲットを絞ったデータマイニング
    自然言語を対象とするため、数値を分析する一般的なデータマイニングとは異なる用途で使われる

  • 回帰分析
    座標に点を打ち、点に沿って線を引き、データ同士の関係性を数式で表現する分析手法
    例)年齢と身長の関係性

  • アソシエーション分析
    データ間に関係性があるかどうかを見つける分析手法
    例)動画サイトのおすすめ選定

  • クラスタリング分析
    データをグループ化し、分類する分析手法
    例)SNSの書き込み内容から、趣味が似ているユーザーをグループ化

  • 決定木分析
    質問に答えながら対象を分類する分析手法
    例)性格診断

  • ファジイ理論:曖昧な情報を扱えるようにした理論
    曖昧な情報の例)暑い・寒い

  • サポートベクターマシン
    曖昧なものを綺麗に識別する手法であり、データを区別するために境界線を引く技術

  • ベイズ推定
    未来予測を行うため、物事の「もっともらしさ」を扱えるようにする考え方
    確率と似ているが不確定要素の多いケースで使用され、「理論的には明確でないけれど、経験的に○○が良さそう」というアバウトな推測が可能になる
    例)自作のサイコロで2がよく出るため、次も2出そう

  • マルコフ過程
    過去の条件や外的要因を無視し、現状から次の事象が予測できると過程したプロセスのこと
    例)自作のサイコロは6面なので、次に2が出る確率は1/6

データ分析

データやデータ間の関係性に意味を付与するのは、人間の仕事
擬似相関(本当は無関係だが、データ上では関係があるように振る舞うこと)に注意して、因果関係を見つけることが重要

  • AIはデータに価値を付与できない
    価値を付与するためには、データ分析の目的を理解する必要がある
    目的を理解しているのは、人間

第4章:機械学習に関わる技術

機械学習と統計学

アルゴリズムの中には、さまざまな統計理論が含まれている
そのため、プログラムにアルゴリズムを組み込むと、プログラムは統計学を使用することになる

機械学習

  • ニューラルネットワーク
    入力されたデータに対して、それを処理するネットワーク間のパラメータを調整することで適切な出力を出す手法


  • ベイジアンネットワーク
    データの構造をネットワーク型で作成し、ベイズ推定で評価する


  • 教師あり学習
    解答を用意する
    「正しい答えを出力する方法」に対して使用する


  • 教師なし学習
    解答を用意しない
    特徴を見つけるために使用する


  • 強化学習
    解答を用意せず、目標のみを設定する
    試行錯誤しながら、よりよい結果を目指すために使用する
    • Q学習
      無限の選択肢を、無限回試行して最適解を見つける、強化学習のアルゴリズム

  • 深層強化学習
    強化学習にディープラーニングを組み合わせた手法

  • 逆強化学習
    目標を設定できない場合に、行動ではなく目標を学習させる手法
    どのような目標設定が最適なのかを学習した後に、目標に沿った強化学習を行う

  • 遺伝的アルゴリズム
    生物の遺伝子が環境に適応・進化していくプロセスを参考にしたアルゴリズム
    「自然淘汰」「突然変異」「交配」を再現しているのが特徴
    「突然変異」を組み込むことで、局所最適解に陥らないようにしている

機械学習の課題

万能な手法はなく、タスクを理解して最適な手法を選択する必要がある

  • ノーフリーランチ定理
    問題に合わせたアルゴリズムを選択する必要があること

  • みにくいアヒルの子の定理
    分類・認識するためには、特徴を絞る必要があること

機械学習の効率化

  • ダミーデータ
    リアルなダミーデータを作成し、本物のデータに混ぜることでデータ量を確保する

  • 半教師あり学習
    答えつきのデータが少ない場合に、教師あり学習と教師なし学習を組み合わせた手法
    • 教師あり学習:答えの重要な特徴を学ぶ
    • 教師なし学習:特徴の見分け方を学ぶ

  • ワンショット学習
    「答えのラベルを貼るのは1枚」で、機械学習を行える
    半教師あり学習の精度を上げることで実現できる

  • 事前学習
    学習したいタスクを学ぶ前に、基本的な学習を進めておく手法
    基本事項を学んでいることによって、タスクの学習効率が上がる

  • 転移学習
    他の分野やタスクで使われた学習モデルを流用し、新しく学習を行う手法
    上手く使用することで、学習期間を大幅に短縮できる
    例)英語を学習したモデルを流用して、フランス語を学習させる

  • 過学習
    同じ物事を学びすぎた結果、少しでも特徴を捉えた際に思い込みが発生する現象
    精度が高くなっているように見えるが、データの傾向が少しでも変わると精度が下がるため、未知のデータやノイズの多いデータに対応できない
    • 対策
      • 学習データを多様化させる
      • 敢えて、雑に学習させる
      • アンサンブル学習(複数の考え方や見方を取り入れる) etc...
        ※ただし、過学習を完璧に防ぐことはできない

第5章:ディープラーニング

ニューラルネットワークの基本

  • 「コネクショニズム」という知能を、人間の神経細胞の仕組みを参考にして作られたアルゴリズム
  • 重み付け
    • 重みの数値を変更していく作業
    • ニューラルネットワークの学習能力を支えている
    • タスクに合わせて、最適な重み付けの手法を選ぶことが重視される

ディープラーニングへの道筋

  • ネットワークの多層化(深層化)
    複雑で巨大な方がさまざまな情報処理を行えるため、中間層(隠れ層)を追加
    中間層はたくさん追加することができる


  • 誤差逆伝播法
    教師あり学習の一種
    ニューラルネットワークが出した機械の答えと理想的な答えの差を修正するように重み付けを行う、アルゴリズム
    出力層から入力層の順番で、重み付けの修正を行う
    3層程度であれば有効だが、層が増えると入力層に近い部分の修正効果がなくなる

  • オートエンコーダ
    事前学習の一種
    多層ニューラルネットワークの一部を取り出し、入力と出力が同じになるように教育する
    • 特徴抽出能力
      • 事前にシンプルな特徴を教えておくことで、複雑な情報を扱うときに初歩的な問題で躓かない
      • 応用範囲が広く、さまざまな問題を解決するのに役立った

ニューラルネットワークの種類

  • 畳み込みニューラルネットワーク(CNN)
    「畳み込み」と「プーリング」というプロセスによって特徴抽出を容易にする
    画像認識や音声認識に有用
    • 畳み込み:特徴の切り分けと合成を行う
    • プーリング:扱う情報をシンプルにする


  • 再帰的ニューラルネットワーク(RNN)
    最初に入力した情報が繰り返し現れるが、繰り返すごとに変化する要素が含まれている

    内部でループする情報が記憶のように働くため、文脈の理解が必要な言語処理などに強い


  • LSTM(Long Short Term Memory)
    RNNの応用系であり、より高い記憶保持能力がある
    記憶の取り扱いに特化したモジュールを作ることで、重要な情報を忘れてしまうというRNNの欠点を克服

ニューラルネットワークと組み合わせる機械学習

  • Attention
    注目するポイントを絞り込む機械学習手法であり、RNNなどと組み合わせることで真価を発揮する

ダミーデータの生成

ディープラーニングには膨大な学習データが必要であり、ダミーデータを用いられる
ダミーデータの生成は、機械学習そのものと同じくらいに重要な課題である

  • 敵対的生成ネットワーク(GAN)
    「データを作るAI」と「データの真偽を見抜くAI」を競わせ、成長させるのが特徴

ニューラルネットワークが扱う情報

  • テンソル(Tensor)
    1つの情報を複数の数字で表したもの
    計算が難しいため、専用のシステムが作られている


  • Word2Vec(Word to Vector)
    テンソルの一種であり、言葉をベクトルで表現する方法
    単語に対して事前にパラメータ値を定義することで、文章のパラメータを近づけることで翻訳することができるようになった

ニューラルネットワークの思考

ルールベースのAIと異なり、ニューラルネットワークのAIは説明可能性が低い
説明可能性が低いと判断の根拠が分からないため、信頼性や不具合の原因究明が困難
→リスクの高い用途では使いづらい

  • ルールベース
    人間が設定したアルゴリズムの条件を確認することで、判断の根拠が明確になる
  • ニューラルネットワーク
    ネットワークが反応した条件が書かれていないため、判断の根拠が分かりづらい
    AIの思考を分析するための「解釈用AI」によって、ネットワークの判断根拠を提示する

環境

  • プラットフォーム
    • クラウドベースで、複数の会社からプラットフォームが提供されている
    • 持ち込んだ学習データを使い、簡単に機械学習が行える
    • フレームワークの提供も行われている
    • 学習データは無料・有料で提供されている

  • 学習環境
    • 書籍やオンライン学習などが登場している
      ただし、最前線で活躍し続けるためには継続した学習が必要

ディープラーニングの現状

  • 機械が映像・音声・言語を扱えるようになった要因である、ディープラーニングが注目されている
  • 「画像」「音声」「言語」を複合的扱えるようになり始めたところ
    ※マルチモーダルAIと呼ぶ

残された課題

  • 人間の代わりになるAIを作るためには、ディープラーニングだけでは不足している

参考書籍

https://www.kinokuniya.co.jp/disp/CSfGoodsPage_001.jsp?CAT=08&GOODS_STK_NO=EK-1169849

参考記事

https://deus-ex-machina-ism.com/?p=15900
https://ainow.ai/2021/04/08/254071

ヘッドウォータース

Discussion

ログインするとコメントできます