人工知能とは
人工知能という言葉が盛んに聞こえるようになりました。
人工知能に関しての概論を説明したいと思います。
【人工知能とは?】
英語でAI(artificial intelligence)とよく表記されます。直訳すると人工の知性です。
人工知能とは人間が知能を使って行っていることを機械にさせようという研究です。
そう言った意味では単純な計算機でも人工知能と呼べなくもありません。
では一般に人工知能と呼ばれるものは何でしょう?
学習によって能力を獲得することを特徴とする機械だと、私は思います。
(定義を突き詰めようとすると「知性って何?」っていう確立されていない問題にぶち当たります)
【弱いAIと強いAI】
鉄腕アトムやドラえもんなど万能性を持った知的機械を強いAI、最近話題に上がる様々な機能に特化した能力を持ったAIを弱いAIと言います。
例えば最近のAIは人間を囲碁で打ち破るほどの能力を持っていますが、全く万能性がないので弱いAIと言えます。
例えばその辺の犬や猫は碁は打てませんが、様々な応用学習をします。高い万能性を持った知性と言えるでしょう。
【シンギュラリティ】
最近話題になったシンギュラリティは強いAIをベースにした議論です。
シンギュラリティは人間の知性を機械が超えるという技術的特異点のことで、機械が自らの知性の発展を加速するようになり、人間はついて行けなくなるという概念です。
一説には2045年に起こると言われています。
知性がどれだけ高まっても物理的にデバイスと繋がってなければ安全ですが、今やネットワークに繋がっている機器ばかりなので、ネットワークを介して物理攻撃をするかもしれません。
人間以上のハッキングも出来てしまうでしょうし。
人がその知性の出す答えの意味を理解出来ないので、ひょっとしたら人にいかに理解してもらえるかにその能力の大半を費やすことになるかもしれません。
【チューリングテストとは】
アラン・チューリングが提唱した、知性があるかどうかを判定するためのテストです。
キーボードや画面を通して、テスター(人)と対話して、テスターが相手が人だと思ったら合格という単純なものです。
ただし、これには単純なプログラムでも人間のように振舞っているように見えたという結果も出ています。
【人工知能のようなもの】
人工無脳というものがあります。
会話をするプログラムで、twitterのボットとかは人工無脳です。
「脳」という字が人工知能の「能」では無いのは「無能」が能力の低さを連想させるからです。
うまく作ればチューリングテストを超えることも可能ですが、知性はありません。
ドラゴンクエストの「ガンガンいこうぜ」なんかの戦闘プログラムは、初めからプログラムされたもので、学習によって能力を拡張していくタイプのものではないので、疑似AIです。
【人工知能の仕組み】
機械学習と呼ばれるアルゴリズムによって学習が行われます。
データから特徴を見つけるという意味では統計学との関係が深いです。
機械学習は大きく分けて、「教師あり学習」と「教師なし学習」があります。
教師あり学習はパラメーターと正解データを一緒に入力して正解とそうでないデータを分ける学習をします。
教師なし学習は正解データを入力せず、パラメーターだけを入力して、データの特徴を見つける学習をします。
ここではよく使われる教師あり学習のニューラルネットワークについて説明したいと思います。
【ニューラルネットワークとは】
人の神経細胞をモデル化したものを使って知能を実現します。
神経細胞はニューロンと呼ばれます。
神経細胞間の伝達にはシナプスと呼ばれる伝達経路があり、ニューロン同士を繋ぎます。
ニューロンがシナプスによって繋がりネットワークを形成することからニューラルネットワークと呼ばれます。
このニューラルネットワークをモデル化したモノの1つにパーセプトロンというものがあります。
【パーセプトロンとは】
複数の刺激(入力)を受けて、反応を返すということをモデル化したものです。
神経細胞が樹状突起という部分で複数の入力を受け取り一定以上に達すると信号を出力する特徴をモデル化しています。
入力パラメータと正解データと一緒に読み込ませると、正解データとそれ以外の間に直線を引きます。(線形分離と言います)
この直線の傾きと位置を動かして、キチンと正解データと分けられるようにします。
この直線を動かすことが学習です。
直線の動かし方にもアルゴリズムがあり、一般的には勾配降下法が使われます。
【勾配降下法とは】
これは出力と期待値の差(誤差)に着目し、誤差が小さくなるよう動かします。
動かした時に誤差の量が小さくなる方向に移動させますが、動かす量が少なすぎても多すぎてもなかなか収束しないので変化量(微分値)が大きい時には大きく、小さい時には小さく移動させます。
誤差を縦軸に取ったグラフで見ると変化量が坂(=勾配)を誤差の低い方に転がり落ちてくイメージを思い浮かべると名前の意味がわかります。
【単純パーセプトロンとXOR問題】
単純パーセプトロンでは線形分離出来ない問題があると破綻します。
例えば論理演算を例にとるとANDやOR、NOTは集合を分けるための直線を引くことが出来ますが、XORは1本の直線で正解とそれ以外を分離出来ません。
これがXOR問題です。
XOR自体はOR,AND,NOTの組み合わせで表現できます。
a XOR b = ( a OR b ) AND ( a NAND b )
つまり、それぞれのパーセプトロンを学習させ多段に置いて組み合わせることでXORを作ることが出来ます。
これが多層パーセプトロンです。
例のようにあらかじめ中間にある出力の期待値が明らかな場合は楽勝ですが、そうでない場合は中間層にどうやって直線を更新したら良いかわかりません。
これをある程度解決したのがバックプロパゲーションです。
【バックプロパゲーション】
誤差逆伝播法とも言います。
一旦入力層にパラーメータを与え、出力層まで演算して出力と期待値の誤差を演算します。
その後、誤差を使って手前の層の出力との誤差を演算する。
これを入力層まで繰り返して各層の学習をします。
名前の通り、誤差を通常の出力を求める流れと逆方向に伝播させるわけです。
誤差の逆伝搬には活性化関数が微分可能である必要があり、様々な関数が試みられてきました。
【ディープラーニングとは】
よく日本語で深層学習なんて訳されていますが、ナンノコッチャ?ですね。
多層化されたパーセプトロンの成功例の事です。
単純にパーセプトロンを多層化すると、勾配喪失問題や過学習を引き起こします。
また、計算量が莫大になる(組み合わせ爆発と言います)ため現実的ではないといった問題が発生します。
それが元で現実的ではなくなっていましたが、組み合わせ爆発に対しては計算機の性能向上、過学習に対しては結合小さくすることで、勾配喪失問題には活性化関数を工夫することで解決を計りました。
【人工知能の歴史】
人工知能自体はとても古い概念で古代の神話にも登場したりしますが、ここでは人工知能ブームの歴史とともに紹介していきましょう。
第1期
〈きっかけ〉
プログラミングせずとも能力を獲得する機械として脚光をあびる。
〈終焉〉
単純パーセプトロンのXOR問題で出来ない課題があるということが話題になり、下火になりました。多層化することでXOR問題を解決することが出来ますが、ブームとは恐いものです。
第2期
〈きっかけ〉
エキスパートシステムによる実用的なAIが登場し、各企業で使われるようになる。
〈終焉〉
計算機能力が向上し、AI専用のLISPマシンの能力を一般のPCの能力が上回り始めたため、LISPマシン市場が崩壊し、投資が回収できなくなった。
AIの理論を使った例えば画像処理よりも、人の手でチューニングされたパターンマッチング処理の方が効果が出ていた。
多層化したニューラルネットで勾配消失問題や過学習など、学習がうまくいかない結果が出ていた。
第3期
〈きっかけ〉
多層化でうまくいかない問題を解決した(回避した?)ディープラーニングで様々な成果が上がる。
計算機能力の向上が大きい。
これにはGPU(Graphics Processing Unit)を用いた演算速度の向上が大きな影響を及ぼしています。
〈終焉〉
さあ、いつになるでしょうか?
過去の課題ではなく、もっと複雑な感情などの課題に対しての限界が見えて終焉するかもしれません。
ですが、これまでの成果が社会に浸透するだけでもインパクトは大きいと思います。
浸透した時には優秀なアルゴリズムの一種といった感じで人工知能に特別感は無くなるでしょう。
反証可能な問題はやらせてみて評価すればいいですが、そうでない場合は学習の正当性の評価が難しいので、話題の自動運転などでは検証が難しいと思います。
【よくある誤解】
最近効果を上げているディープラーニングは確かに多層パーセプトロンの問題を回避した点が様々な効果を上げているが、全結合層やランダム結合層をどのように組むのか?何層にするのか?などのアーキテクチャは人がその適応分野に合わせて考えて試行錯誤しているので万能性はありません。
人は脳の何割も使えていないという話がありますが、使えてない部分も含めて再現しないと人を再現できないかもしれません。
人工知能は神経細胞をモデル化してますが、適応分野に特化したチューニングが行われ、必ずしも脳の再現を目指しているものではありません。
しかし、脳の構造からのヒントで進歩したりもします。
付かず離れずといった感じでしょうか。
強いAIが出来た時、必ずしも人の脳と同じ仕組みであるとは限りません。
【人工知能の成果】
これまでで成果を上げている人工知能の活躍を紹介します。
〈自然言語処理〉
自動翻訳機に応用されていたりします。
この場合、入力が翻訳前の文章で正解データが翻訳後の文章になります。
また、単語の登場頻度をベクトルにすると、同じ意味の単語が同じ座標に登場することから、未知の言語に対する翻訳機の開発もあります。
2016/3 人工知能が出力した小説が、ある文学賞の一次選考を通過するという出来事がありました。
〈音声認識処理〉
音声データから文字として検出する処理です。
音声は時系列データなので、LSTMが効果を発揮しています。
〈画像認識処理〉
グーグルの猫なんかでおなじみの画像に何が書いてあるかを出力する処理です。
この分野では、人間の認識率(95%)を超えた結果(96%)が出ました。
画像を認識して、画像から文章を作り出すことも行われています。
これはOCR(画像内の文字を読み取る)ではなく、画像内の出来事を文章化するもので、例えば絵を見て「時計台の下に鉄棒をしている子供がいる」などと情景を表す文章を出力します。
畳み込みニューラルがよく使われます。
画像の1ピクセル連結として畳み込みニューラルネットワークに入力します。
様々なフィルタリングが有効で、モノクロやRGBに分け、別々の特徴量として学習したりします。
動画になると時系列データとしての意味合いが強くなるのでLSTMが活きると思います。
〈ゲーム攻略〉
アルファ碁が人間のチャンピオンを破ったことで有名になりましたね。
今の人工知能は完全情報ゲームには向いているとされています。
チェスのような複雑度の低いものでは1997年ディープブルーというプログラムが人間を破りました。
将棋や囲碁はパターンが多いので、最近まで人間を破るようなことはなかったのですが、無数のパターンとは言え有限なので、処理速度の向上で複雑な手も学習出来るようになりました。
一方ポーカーを代表とする非完備情報ゲームは得意ではありません。
必ず勝つじゃんけんロボットのような動作の特徴と結果を学習するAIと、表情をセンシングするカメラがあると強いかもしれませんけど。
AI同士を競わせることで、学習を強化しています。
〈化合物の活性予測〉
薬効を持つ化合物の検出を行います。
化合物データと生体応答データを学習することで活性予測を出力します。
これは、やってみたらすごい結果が出てしまったという類のものらしいです。
研究の始まりにはよくあることで、例えばタバコの成分から発ガンを抑制する物質が発見されたりしてます。
タバコから発ガンを促す物質を探してたら逆の効果だったとか…
〈医療〉
医療診断にIBM社のワトソンという人工知能を用いた診断が行われ、成果をあげています。
研究論文や薬剤特許を読み込ませて学習し、患者の症状や遺伝子情報から治療方針を推論します。
臨床医と異なる診断結果をAIが提示し、治療方針を変更したところ、劇的に効果が得られて回復した事例もたくさんあるそうです。
〈弁護士〉
人が直接扱える程度の複雑なルールは人工知能のお手の物なので、法律の範囲内で何が最も最善なのかを示してもらえます。
ただし判断材料や証拠をいかに確保するのか?といった泥臭い面は人が活躍しそうです。
〈東ロボくん〉
研究は東大合格を目指さなくなってしまいましたが、ある程度の水準の大学は合格出来る能力まで向上しました。
今後は知性や学習とは何かという課題に注力するそうです。
〈自動運転〉
画像認識を中心に使われ始めています。
カメラに映った物体はなんなのか、トラックなのか人なのか、標識なのか、自転車なのか、車椅子なのかなど、正解データを作るのに苦労してそうですが、着々と進んでいます。
また人間の操作動作を正解データとして適正行動のモデル化もしています。
自動運転分野は安全性という高いハードルがあるので目に見える成果が出ても、実用化までの道のりは高く険しいです。
【人工知能が仕事を奪う】
人工知能が発達すると仕事がなくなるんじゃね?的な質問や博士のノートがありますが、将来で見れば今あるブルーワーカーやホワイトワーカーの仕事は全てなくなる可能性があります。
ブルーワーカーの仕事はロボットと組み合わせればいいし、ホワイトワーカーの仕事の中でも屈指の難易度を誇る医者と弁護士の仕事でも活用する事例が増えています。
結局仕事として業務の安定性を得ようとしたら、訓練を受ければ誰でも出来るようにしないとなかなかビジネスにはならないことから、これらは入力に対する出力が確からしくなるよう学習された人工知能に向いているのです。
【人工知能が普及しても無くならない仕事】
なくならない仕事は人の魅力を売りにしたもの、例えばタレント(俳優、アイドル、アクターなど)や、投資家(とはいえ何に投資するかは人工知能がアドバイスする)、発明家(人工知能はサポート)など人工知能を使う側の立場の人です。
本来、機械は人の役に立つものです。
機械に仕事を奪われると悲観せずに、機械で出来ることは機械に任せて、人は機械に出来ないことをすれば良いのです。
極端な楽観を言えば人が働かなくても生活できるユートピアが出来ると良いですね。
人は好奇心の塊なので、人工知能が良くなると、それを使い倒すもんです。
仕事を奪われることよりも人工知能を悪用されることを懸念した方が良いです。
【その他人工知能関係で良く使われる用語】
〈RNN(Recurrent Neural Network)〉
再帰的ニューラルネットワークの事です。
通常は入力から出力の方向に結合するが入力方向にフィードバックする構成のもの。
〈LSTN(Long Short-Term Memory)〉
RNNの一種で忘却ゲートなどの記憶を制御する入力を持っていて、長期記憶も短期記憶も行うことが出来る。
音声認識などの時系列データを扱うのに都合がいいニューロン。
〈SVM(Support Vector Macine)〉
パーセプトロンの優秀なアルゴリズムの1つ。
集合を分離しようとする境界の引き方を、境界に最も近いサンプルとの距離が最も遠くなるようにするものです。
(境界線が分離したい集合の真ん中になる)
〈CNN(Convolutional Neural Networks) 〉
畳み込みニューラルネットワークとも言います。
画像認識分野でよく使われます。
【最後に】
私は人工知能の専門家ではありません。
ご指摘があればお願いします。
この記事が気に入ったらサポートをしてみませんか?