この記事はAIとは何か、AIに使われる手法にどんなものがあるかが大まかに把握するための備忘録である。

AIとは

AI (Artificial Intelligence、人工知能)。

AIに対して人が持つイメージは様々だ。あなたはどんなイメージを持っているだろうか。

2016年の総務省の調査(https://www.soumu.go.jp/johotsusintokei/linkdata/h28_03_houkoku.pdf)によると、
日本人の持つイメージとして最も多いのは 「コンピューターが人間のように見たり、聞いたり、話したりする技術」 であった。
これはちょうど Siri などのチャットボットに近いイメージだろう。

また、同調査においてアメリカ人の持つイメージとして最も多いのは 「人間の脳の認知・判断などの機能を、人間の脳の仕組みとは異なる仕組みで実現する技術」であった。

人々の持つAIのイメージの代表はこんなところだとして、AIの正しい意味はなんだろうか。

実はAIという概念には明確な定義はない。

大雑把にでも掴めるように、AI という概念を説明しようとした文を集めてみた:

  • 知的な機械、特に、知的なコンピュータプログラムを作る科学と技術
    (人工知能学会Webページより https://www.ai-gakkai.or.jp/whatsai/AIfaq.html)
  • 人工的につくられた、知識を持つ実態。あるいはそれをつくろうとすることによって知識自体を研究する分野
    (中島秀之氏、人工知能研究者)
  • 言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術
    (ASCII.jpデジタル用語辞典より https://yougo.ascii.jp/caltar/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD)

AIの手法の分類例

一旦、AIを「言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術」と捉えたとき、AIの手法としては大まかに次のようなものがある:

  • ルールベース(の手法)
  • 数理最適化
  • 機械学習

ルールベース

あらかじめ人間がルールを定め、コンピューターにそれに則って知的行動をさせるような手法。
大量の if then else でルールが定められていて、入力(周囲の状態)とルールによって自動的に出力(行動)が決まるようなイメージ。

※ルールベースは近年では「ルールベースAI」などと、AIの一種であるかのように呼ばれることが増えた(昔はそんなことなかったと思う)。

数理最適化

問題に対して最適な解決方法を計算し導き出す手法。人間が問題を数理モデルに落とし込み、取り得る解決方法をコンピューターが評価していき最適なものを見つけ出す。

※数理最適化はAIの定義に含まれないことが多いが、扱う対象によっては関連性が高いのでここで取り上げた

数理モデルがどんなものか、「ナップサック問題」の例をWikipediaから引用する(https://ja.wikipedia.org/wiki/%E3%83%8A%E3%83%83%E3%83%97%E3%82%B5%E3%83%83%E3%82%AF%E5%95%8F%E9%A1%8C)。
ナップサック問題とは、

n 種類の品物(各々、価値 vi、重量 wi)が与えられたとき、重量の合計が W を超えない範囲で品物のいくつかをナップサックに入れて、その入れた品物の価値の合計を最大化するには入れる品物の組み合わせをどのように選べばよいか」

という問題であり、これは次の数理モデルで表される。

ナップサック問題の数理モデル

(ここでは I = { 1, 2, ..., N } は品物の集合、各品物 i ∈ Iの重みがwi、価値が vi、品物の重量の合計が W)

数理最適化では、扱う問題を数理モデル化し、その問題を解けるような解法を用いることで最適解(最適な解決方法)が得られる。

数理最適化の解法には様々な種類があり、大雑把には次のように分類できる:

  • 厳密解法: 「最適解」が得られる解法。最適とあるように「最も良い」解が得られる。
  • 近似解法: 最適解が得られる保証はないが、ある程度良い解が得られる解放。厳密解放と比べ、精度を妥協する代わりに計算時間を短縮できる。精度の保証があり、「最適解を100%としたとき、少なくとも○○%に相当する出来の解が得られる」といったような保証がついている。
  • ヒューリスティクス: 最適解が得られる保証はないが、ある程度良い解が得られる(ことが多い)解法。近似解放と異なり精度の保証はない。自然界のものから着想を得た解法が多いのも特徴(遺伝の仕組みを利用した「遺伝的アルゴリズム」など)。

機械学習

経験からの学習により自動で改善していくような手法。
近年はAI(の技術)というと機械学習を指していることが多い気がする。

機械学習にも様々な手法がある。(以下の分類は排他的にはなってはいないので注意。)

  • 群知能: 生物の集団が見せる知的な行動を模倣することで問題解決を図る手法。数理最適化のヒューリスティクスにも分類される。代表的な手法は:
    • アリが巣穴と餌場の最短経路を見つける挙動を模倣した「蟻コロニー最適化」や、
    • 魚などの生物の群れが、群全体として効率的に餌を見つける挙動を模倣した「粒子群最適化」
  • 進化的計算: 生物の進化を模倣することで問題解決を図る手法。数理最適化のヒューリスティクスにも分類される。代表的な手法は:
    • 遺伝の仕組みを模倣した「遺伝的アルゴリズム」
  • 教師あり学習: 教師データ(学習データ)を使う機械学習の手法全般を指す。
  • 教師なし学習: 教師データを使わない機械学習の手法全般を指す。
  • 強化学習: 教師なし学習の一種。一連の行動の最後に評価を与え、それを繰り返すことで学習していく手法全般を指す。コンピューターにゲームプレイを学習させる例などがよく挙げられる。囲碁を例に出すと、一手一手の良し悪しは評価せず、勝敗のみで行動の良し悪しが評価する。囲碁のゲームに勝ったかどうかが評価され、勝つための振る舞いが学習されていくようなイメージ。教師なし学習といいつつも、アルゴリズム自信のゲームプレイ結果が教師データになるとも捉えられるので、どちらなのかは微妙な気がする。
    • 代表的な手法は「Q学習」
  • 深層学習(ディープラーニング): ディープニューラルネットワークと呼ばれる、多層のニューラルネットワークを用いて学習する手法を深層学習と呼ぶことが多い(ただし本来はそれも含めたより抽象的な概念らしい)。ニューラルネットワークは生物の神経細胞での信号伝搬を模したものである。教師あり学習のものもあれば、教師なし学習のものもある。

俺たちの学習はこれからだ

AIとは何か、どんな手法があるのかを大まかに把握できたところで、これから自身のニーズに応じて深掘りし学んでいこう!


hahnah

はーな Webエンジニア。モバイルアプリも少々。Elmが好き。

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。