9. 人工知能(AI)とは(人工知能の発展の歴史、人間の知的活動と人工知能)

9-1. 身の回りのAI技術

対面授業なら、開始時にこれを「音だけ」掛けているのですが...

https://www.youtube.com/watch?v=FYBrF2JTlKs

聞いたことない人は、聞いてみてください。どう思います? と言うか動画だと答えが出てますね(^^;

これ、人間が歌っているのではありません。もちろんボーカロイド(音声サンプリングによる楽器演奏)でもありません。マイクロソフト社が開発したAI「りんな」が歌っています。言われなければわからないほど「自然」と思いませんか? 感情が込められた自然な歌い方。これが2018年のAI技術です(新曲もあるので興味のある方は、いろいろ聞いてみてください。仮面ライダーゼロワン(2020)
LINE 使っている方は、「りんな」と対話することもできます。しりとりは.... 強すぎます。体験したことがなければ、LINEで「りんな」と遊んでみるのもいいかも。

他にも、グーグルアシスタント(OK. Google),Siri (Hey, Siri) .... Google翻訳なども、全てAIです。現在では、さまざまなAIが身の回りにあります。そしてそれらのAIは急速に「人間と区別がつかないほど自然」になってきていますし、中には、こちらの感情を読み取ったり、感情を表現するものも、あります。

と、昨年の授業ではここまででしたが、それから1年の間に、いろいろなAIが新たに生まれ、一般に公開されました。AIの分野は「一年一昔」です。

2022年11月に一般公開された「Chat GPT」は、かなり自然な、他分野にわたる対話ができ、話題になっています。単純な対話だけでなく、さらに、詩や小説、要約や論文(レポート)等も書いてくれ、翻訳や質問に答えるなど「多様なタスク(仕事)をこなす、汎用的な」ものです。が、同時に「平気で、嘘や誤り、フェイクニュースも、自信たっぷりに」書きますので、注意も必要です(^^;(ハルシネーション=幻覚 の問題と言います)。 まあ、まだ実用と言うよりは、「遊ぶには良いかも」という段階かもしれません。それでも、「質問の仕方(=入力=プロンプト=呪文)を工夫する」と、「かなり有用な、実用的な情報(作品)を引き出す」こともでき(プロンプト・エンジニアリング=呪文 と呼ばれる)これが今後、重要な「利用技術」になるかもしれません。

また、Chat GPTの主要部分(高度な言語能力)と既存の検索エンジンと組み合わせて(平気で嘘を付くChatGPTの)出力の信頼性を上げた「対話する検索エンジン」として、microsoftの「Bing Chat」 や、Googleの「bard」などのサービスも開始しています。

また、Stable DiffusionMidjourneyなどのように「言葉で指示して、絵やイラストを描く」AIも、かなり話題になっています。「**風に、**を描いて」という指示で、特定の作家風にのイラストも描けるし、イラストの人物のポーズも指定できます。これらの話題、知らなかった方はWebで調べたり、試しに実際に使ってみるとよいと思います。この1年で、一気に「AIが本格的に創作活動をする」時代に入ったと言ってもいいのかもしれません。

例えば、Stable Diffusion で「犬と猫が喧嘩している」という文章のみを(英訳してそのまま)入力すると、それだけで

が描けます。また、入力をちょっと工夫すると、







のような絵も簡単に描いてくれます。最後は「トランプ氏が月面で馬に乗っている」という内容の(英訳の)文章と、若干のキーワード(呪文と呼ばれています(^^;)を入力して描きました。「現在は、この方法で、いくらでも簡単にフェイク写真が作れる時代だ」というデモと思っていただいても良いです(^^; 「絵(イラストなど)を創作するのは人間だ!」という常識は既に覆っています

例えば、ChatGPTで、単に、

源氏物語について、その時代背景と現在の社会を比較しながら、論じてください。

とだけ入力すると、

源氏物語は、平安時代の中期から後期にかけて、紫式部によって書かれた日本の古典文学の一つです。現代社会と比較すると、当時の平安時代の社会背景は、現代社会とは大きく異なっています。以下では、源氏物語の時代背景と現代社会を比較しながら、論じていきます。

平安時代の社会背景と源氏物語

平安時代は、強い中央政府が存在していたため、文化や芸術が発展し、貴族たちは雅や風流を楽しむ生活を送っていました。この時代は、貴族階級が中心となっていたため、平民の暮らしは貧しく、不安定なものでした。また、男女の性差が強く、女性は男性に従属することが求められていました。源氏物語にも、このような社会背景が反映されています。例えば、物語の登場人物たちはすべて貴族階級の出身であり、男性は女性に対して支配的な立場にあります。また、女性たちは美しさや優しさを競い合い、男性の愛を得ることが重要視されています。

現代社会と源氏物語

現代社会では、男女の平等や多様性が尊重されるようになりました。女性も男性と同様に社会的な活動に参加し、自己実現や幸福追求を目指すことができます。また、現代社会は、グローバル化や情報化が進んでいるため、異なる文化や価値観を持つ人々が交流することが増えました。一方で、現代社会でも、格差や差別といった問題が存在し、社会全体の公正さや平等性が求められています。

源氏物語と現代社会を比較すると、平安時代の社会は、現代社会に比べて閉鎖的であり、男女の役割分担や階級制度が厳格であるという点が異なります。また、源氏物語の物語の中で描かれる女性たちは、男性に対して従属的な役割を持ち、美しさや優しさを競い合うことが重要視されていました。これは、現代社会では、男女の平等や多様性が尊重されるようになり、女性たちは自己実現や幸福追求を目指すことができます。また、男女の間における力関係が転換され、女性たちは男性と対等な立場で社会的な活動に参加することができるようになりました。さらに、異なる文化や価値観を持つ人々が交流することが増えた現代社会においては、多様性が尊重されることが求められています。

一方で、現代社会でも、格差や差別といった問題が存在しています。例えば、女性の賃金が男性と比べて低く、女性がリーダーシップのポジションに就くことが少ないという性差別が依然として存在しています。また、先進国と途上国との間における経済格差が拡大し、国際社会全体の公正さや平等性が求められています。

このように、源氏物語の描く平安時代の社会と現代社会とは、時代や文化の背景が異なるため、多くの点で異なります。しかし、現代社会においても、社会的不平等や差別が存在し、社会全体の公正さや平等性が求められていることは、源氏物語から学ぶことができるでしょう。

と出力されました。皆さんはこの「AIによる小論文」をどう感じ、どう評価しますか?(^^; 「論文などの文章を創作するのは人間だ!」という常識は既に覆っています

また、ChatGPT や bard 等で、簡単なプログラムを作らせることもできます。「JavaScriptで、じゃんけんのプログラムを作ってください」、という内容だけの質問に対して、ChatGPTが出力したものを,
 Chat GPTの作ったじゃんけんプログラム
に入れておきます。なお、ソース(プログラム自体)は、ブラウザで「ページのソースを表示」すればそのまま見れます。「コンピュータを動かす命令(プログラム)を創作するのは人間だ!」という常識は、既に覆っています

そのような「AIが創作活動もする時代(現在および近未来)」に、私たち人間は何をすべきなのでしょう? そのことを考えるには、まず、現在のAIの仕組みや得意とすること、苦手とすることなどを知り、そのうえで、人間は何をすべきか、何を学び、どのような能力を身に着けるべきか、を真剣に考える必要があるでしょう(なお、現在のチャットAIには共通して「ハルシネーション(Hallucination:幻覚。もっともらしい大嘘を付く)」の問題があります)。

では、そういうことを考えるときに必要になる、基本的な事柄(考える上での前提知識)を学んでいきましょう。まずはじめに、そもそも「AI(人工知能)ってなんなの?」でしょう? そこで、まずAIの歴史から振り返り、「AIとは何か?」を押さえておきましょう。


9-2. 「電子頭脳」から「人工知能」へ。AIの歴史(1960頃までのAI技術)

古代から「人間」は、他の動物と何か違う、と人々は気が付いていました。人間には他の動物には無い「知性」という性質が備わっており、複雑な言語を用いて高度な意思疎通や思考をするし、さらには抽象的な「数」の概念を生み「計算」をする能力も持っていました。「計算する」という「高度な知的作業」を行えるのは人間だけで、手品として犬に「計算させているように見せかける」ショーなども行われていましたが、人間以外の動物には「数と言う概念を理解し、計算をする」という「高度な知的作業」はできません(近年、小さな数の計算に近い作業程度なら、人間以外の比較的知的と思われる動物(犬やサルなど)でも、出来るらしいということも明らかになってきています)。そのため、「人間だけは特別(神に近い存在)」という思想も生まれてきます。

一方、人間も動物の一種で、身体の仕組みも他の動物と似ていることから、「人間も他の動物と本質的に同じ」ただし、他の動物に比べ「脳」という臓器が発達している(大きい)ことも見出されていきます。そして、脳に障害があると知的作業に障害がおこることなどから、人間の卓越した高度な「知性」も「脳」という臓器が担っているということが分かり始めます。そして17世紀ごろには、犬も猿も人間も、自然界(神?)が作り出した精巧な「機械」であって、人間の場合には、特に発達した脳という機械的な部品(臓器)が「意識や意思、自我、知性や知能、さらには他の動物にはない『数の概念を理解し、計算するという高度な知能など』」も生み出しているのではないか? と考える人が出てきます(デカルト等)。このころは、「計算する」ということは、人間以外には出来ない「とても知的な作業」と考えられていました。

ところで「歴史」のところで紹介しましたが、ちょうどそのころ、歯車を使った(そろばんを改良し桁上げなどを自動化する仕組みを加えた)四則演算をする機械(歯車式計算器)が発明され、さらに19世紀になると、パンチカードの並びでプログラムを表現し「単一の機械で様々な計算をする歯車式計算機(バベッジの解析機関)」も考案され、「人間しかできない知的な作業と思われていた『計算』を行う機械」が生まれ始めます。

1936年、まだ電子式計算機(コンピュータ)が生まれる前、英国の天才数学者「アラン・チューリング」が、「計算する機械(コンピュータ)」の理論(1936 年)を発表します。チューリングが考案した計算する機械は「チューリングマシン」と呼ばれ、これは、現在「(デジタル)コンピュータ」と呼ばれている機械の、数学的模型として完全なもので、このチューリングマシンの理論に基づき、「コンピュータでどのような問題が解け、どのような問題が解けないのか?(計算可能性)」等の問題が厳密に議論され、コンピュータの性質や能力について、「まだコンピュータ(電子式計算機)が生まれる前に」いろいろなことが明らかになっていきます。

1950年、チューリングは、計算する機械(=コンピュータ)が、今まで最も「知的」と思われていた「計算」を行う機械であることに注目し、「計算する機械が知性を持つ可能性(1950)」の指摘します。つまり、人間だけが持っていると思われていた「知性: intelligence」を計算する機械が」持つかもしれないという、(当時としては)驚くべき可能性の指摘です。当時「知性:intelligenceとは何か」と言う問題は、まだ科学的に議論されておらず、客観的根拠の無い主観的な思い込みや主張はありましたが、「知性」の明確な(客観的な)定義もなく、また、「知性を持つか否かを判別する客観的な方法」も、全く議論されていませんでした。このような問題にチューリングは初めて「論理的に」取り組みました。現在の言葉で言えば「コンピュータで人工知能を作れる可能性」の指摘と、「(コンピュータで作られた)人工知能が、本当に知性を持っているかどうか、どう判断すべきか?」という問題に初めて本格的に取り組んだのが、アラン・チューリングです。なお、アラン・チューリングのその他の業績は、「歴史」や「暗号」のところでも紹介しましたが、Wikipediaや、映画「イミテーション・ゲーム」を参考にするのも良いでしょう)。

チューリングは、機械が「知的か」とか「思考している」と言えるかなどの判断基準として、「人間か機械か区別できなければ、 人間と同じ程度知的、と言えるのではないか?(イミテーションゲーム・チューリングテスト)」を提唱します。つまり、「知的」と「知的に見えるようにふるまう(模倣)」の区別が付かなければ、両者の違いは本質的な意味を持たないという指摘です。さらに、「当時、最も知的なゲームと考えられていた、チェス」を「計算で行う」アルゴリズムを提唱し、「計算で知性を作る(計算でチェスの手を『思考』する)」ことが、可能かかどうかを調べ始めます。これらは、まだ「電子計算機(コンピュータ)が発明される前」の時代に行われたことです。

その後「計算する機械(デジタルコンピュータ)」は現実のものになり、販売(商用化)され普及するに従い、それまで空想の(あるいは数学理論、あるいは特定の研究所にいる人しか使えないし見たこともない)機械だったものが、誰でも実際に使える世界になっていきます。そして「人間しか出来ない計算を、人間よりずっと早く計算できるこの機械」は、驚きをもって「電子頭脳・人工頭脳」とも呼ばれるようになります。そして、さらに多くの人が実際に「コンピュータ」を使うようになり、確かに、「当時、とても知的な作業と思われていた「計算する」ということに驚異的な能力を発揮する」けど、一方で、「想像していたほど(電子頭脳とか人工頭脳と呼ぶほど)、知的には見えない」ことも明らかになってきます。

そこで、1960年ごろ「確かに現在(1960年代の)のコンピュータ」は、電子頭脳・人工頭脳、と呼べるほど「知的」とは感じられない(^^; しかしコンピュータはプログラム(ソフト)次第で機能が変わるのもだから、「知的に思える(知的に感じる)処理」を実現する技術(ソフトウェア)を開発しよう」という動きが生まれます。 その動きが生まれるとともに「電子頭脳・人工頭脳」という用語は使われなくなり、新たに、実現を目指す「知的に思える処理を実現する技術や成果物」を「人工知能(artificial intelligence、AIと呼び始めます(1960:マッカーシーによる命名)。

1960年代、人工知能の実現に向けて、まず、コンピュータに「計算(数の処理)」以外の「知的」な作業を行わせるための「道具」の開発から進められます。たとえば「言葉」を扱う場合、「記号・単語」や「記号・単語のつながり」などをコンピュータで表現することが必要です。文字は文字コードで表しますので、単語は「文字コードの繋がり」で表現できます。単語には品詞や意味がありますから、そういう属性を含めて「1つの記号・単語」としてデジタル表現していきます。次にそういう記号・単語データの「繋がり」を表現する仕組みが必要です。コンピュータの中では「記号・単語情報を記憶している場所(アドレス)を指し示すデータ(ポインター)」の概念が生まれ、プログラム言語に、そのような情報を記述する拡張が組み込まれていきます。そして、ポインターを含むデータ(ノード)を、ポインターによって相互に連結していく「リスト」と呼ばれる構造で情報を記述したり管理する仕組みが生まれ、そのような情報に対する処理を柔軟に記述するコンピュータ言語として「Lisp(リスプ)」というコンピュータ言語が生まれました。この言語(と処理系)の発明により、「記号や単語の繋がり(矢印で繋がれるような情報)」を比較的容易にコンピュータに組み込むことが出来るようになりました(記号処理の始まり)。

また、このころ「機械と対話するシステム」が試作され始めます。人間は、機械に対してキーボードを使って話しかけます。すると機械は(文字で)返事をします。まるで人間と機械が(当時のコンピュータの標準的な入出力装置であるテレタイプ(キーボードとプリンタ)を使っていますが)「対話している」ようなシステムです。

このような「対話システム」が、実際に生まれることにより、チューリングが考えた「チューリングテスト(イミテーションゲーム)」が「実際に実施可能」になりました。チューリングテスト(イミテーションゲーム)とは、「機械に、人間の真似(模倣:imitation)をさせて、人間と対話する」というゲームです。人間Aは、テレタイプで対話します。対話相手は「別の人間B」かもしれませんし、「人間の真似をした機械B'」かもしれません。さて、このとき、対話している人間Aは、対話の相手が「人間か、人間のふりをした機械か」を見抜けるでしょうか? もし人間か機械か見抜けないほど完璧に人間のふりができるなら、それは、この機械が「人間Bと同程度に知的である」と言えるのではないか? というのが、チューリングの提唱でした。1964年、ELIZA(イライザ)という対話プログラムが「実際に」作られると、いくつかの場面では、意外と簡単なルール(アルゴリズム)で返答しても、意外と簡単に「人間を騙せる(機械とはバレない)」ということも分かってきます。チューリングテストの意味では、「この対話プログラムは(簡単な仕組みにも関わらず)、人間 B と同じくらい知的」ということになります。なお、ELIZAは、最初は単なるジョークプログラムとして作られましたが、作者の想定以上に「知的に感じられる」ということで話題になったプログラムです(現在の言葉で言えば、世界初の「人工無能」と呼ばれるチャットボットであり、その進化したものが、Siriであったり、りんなであったり、chatGPTであったり...と言うことも出来ます)。


哲学的補足(興味のない人は読み飛ばして、9-3.に進んでください):

なお、1980年に哲学者のジョン・サールが「中国語の部屋」という思考実験で、チューリングテストに対する反論を行います。これは、部屋に差し入れられた「中国語(漢字)で書いてある紙」に対して、「部屋の中にいる英国人(アルファベットしか理解できないが、マニュアルに従い返事を書いて」、部屋の外に返す、という部屋です。さて、この部屋に「中国語の質問」を入れると、部屋から「中国語の答え(マニュアルに従った)」が帰ってきますが、中にいる英国人は中国語を理解できません。このように「理解していなくても」チューリングテストにいはパスしてしまう場合があるのではないか?という反論(違和感)です。しかし、この反論に対しては、「英国人は中国語を理解していない。ただし、「英国人とマニュアルのセット」は、(正しく中国語の対話が成り立っていれば)中国語を理解しているといえるのではないか?」と反論されています。

この種の(哲学的に見える)問題に対しては、空理空論ではなく「科学的な議論」をする必要があり、「反証不可能な内容を仮定する論(単なる主義主張・妄想)」を中途半端に混ぜると、意味ある議論にならない(意味のない空理空論になる)、ということを意識しておく必要があるでしょう。サール氏は多分「マニュアル自体に知性は無い」と暗黙に仮定していると思いますが、もし「マニュアルに従い、完璧な回答が出来る」のであれば、知性は人間(この問題の場合英国人)にあるのではなく「そのマニュアル」が知性を持っていると言っても良いのかもしれません。実際「部屋の外の人に、不自然と思われない対話方法を全て、マニュアルに記載する(そのマニュアルを使う)」というのは、そう簡単なことでは無いです。この問題を(スマホのある)現代流に言い換えると「中国語を知らない英国人が、中国語で書かれたメモを、Chat GPT等(現代のAI)等に入力して、得られた中国語の解答を、紙に書き写して返事を返す」ことと同じことですから(^^; いずれにせよ、「チューリングテストをパスし、人間か機械か区別できない」ならば「その機械は、人間と同じくらい知的(に見える)」と結論する(「知的」という言葉をそのような意味で定義する)ことは、それほど奇異な事でないでしょう。もし、「知的である」と言う言葉に、「サール氏と同様に違和感」があれば「知的に見える」と言っても良いでしょう。そのうえで「知的に見える」と「知的」とは違うという主張に対しては「知的に見える」ものが「知的か知的では無い」かを「どのようにして識別するか」という方法が提案されていなければ、意味がない、というのが「実証科学」の方法論です。サール氏は知的かどうかの識別方法を提示せずに、単に「中国語の対話は成立しているが、この英国人とマニュアルは、中国語を理解していない」という「反証不可能な主張」を述べているだけでしょう。 なお「反証不可能な命題」とは、例えば、「神が存在する」と仮定しても「神が存在しない」と仮定しても、そこから演繹される結果が全て同じ(結果に違いが無い)というようなことです。「神が存在しても存在しなくても、全ての結果が同じになるのなら、神が存在することも神が存在しないことも示せないし、現実(結果)に何ら影響を与えないから(全ての結果が同じなのだから)、関係ない(^^;」ということになります。だから「神が存在するか存在しないか」の議論は無意味である、という実際的な考え方(プラグラティズム)が「実証科学の考え方(方法論)」です。つまり神が存在する場合と存在しない場合とで「結果が異なる」ように「神の定義」を行わなければ、その存在を議論することは、(無定義な言葉で遊んでいるだけで)意味があません。同じように、「知能」とか「知性」という言葉も「知能や知性を持っている場合と、持っていない場合に結果が異なるような定義」をしないと、知能を持っているか持っていないかと言う問い自体が「反証不可能な問題」になりますから、意味がない(実証できない)です。

なお、チューリングの提唱(定義)は、現在でも「反証可能な可能な、実証主義的な(=科学的な)知性の定義方法の1つ」です。なお、チューリングテストを1回パスしたからと言って、機械に知能があると結論付けられるわけではありません。「どのような質問に対しても、何度やっても必ずパスする」ならば、「その機械に、知能が無いとは証明できなかった(だから、知能がある可能性が高い)」というのが、正確な(科学的な)言い方と思います。ちなみにこのころ既に「一定の時間内の対話だけなら、チューリングテストをパスする対話プログラム(人工知能)」も、数多く作られました。が、さらに革命的に進化したSiriやGoogleアシスタントやりんな、さらに ChatGPT でさえも、1回だけの受け答えでは人間と見分けがつきにくいかもしれませんが、「会話を続けると、かなり不自然」になっていきます。つまり、「何度でも、常にチューリングテストをパスする程のレベルには、まだ達してない」です。なお、Bing Chatは「検索エンジン」として調整され「人間を模倣することを目的としていない」です。Chat GPTは、かなり人間らしい反応をしますが「突っ込んだ対話を数回続けると」ぼろを出します。ただし、かなり「論理的な対話術(ディベート術)」を知らないと、そこまで追い詰められないかもしれませんので、暇なときに、そのような観点で、Chat GPT や Bing Chat や遊んでみるものよいでしょう。

いずれにせよ、チューリングテストの提唱は、「知性」という捉えどころのない問題を「実証可能な問題として提起した」ことに、大きな意味があると思います。同様に「AIに自我があるか?(自我のある機械を作れるか?)」とか、「AIに感情があるか?(感情のある機械を作れるか?)」言う問題も、同様に扱えると思います。まず、「皆さんは、自分に感情や自我がある(感情や自我があると見えるようにふるまっている(模倣)だけではない)」と言うことを他人に対して、実証できますか?(感情や自我を実証可能なものとして定義してください)という問題です。もし他者に対して、「具体的に明確に実証する方法」が無ければ(実証可能な自我の定義が出来なければ)、「機械に感情や自我があっても、それを他人(人間)に証明することが出来ない」のは、当たり前のことと思われます。まず「感情とは何か、自我とは何か?」「感情や自我があれば**となる(感情や自我が無ければ別の結果□□となり、**とはならない)」という「反証可能な命題」を提示して、「実証可能な問題」として感情や自我を定義する必要があります。そのような、反証可能な命題の提示(実証可能な定義)が無ければ、「感情や自我がある」か、「AIは、(模倣しているだけで)感情や自我は無い」かという問題は、実証不可能な、無意味な問題になります。


9-3. 「知的に思える処理を実現する技術」の探求の歴史(1960~1980に生まれたAI技術)

では、具体的に、人々は、何を「知的」と思うのでしょうか? 記憶する、思い出す、計算する、判断する、演繹する、話す、聞き取る、読む、 言葉を理解する、作文する、対話する、学習する、….???

1960年代は、「人工知能の本格的研究」が始まった時期ですので、「対話システム」だけでなく、いろいろなことが試みられました。(知的なゲームと考えられていた)チェスを行うシステムや、ポーカーなどのカードゲームや麻雀ゲーム。これらも「知的なゲーム(ポーカーや麻雀は、どんなカードや牌を引くかに不確定要素が含まれ、それを読む事も必要)」という位置づけでいろいろ作られ、確率計算を通して手を決めたり、適度な確率で「ブラフ」を行わせたり、ある程度強く、またある程度人間らしい振る舞いを「プログラムで作る」試みがいろいろ行われました。また、数値計算だけでなく、「数式の変形や、数学の定理の証明を行うプログラム」も様々なものが作られました。そのような試みを通して「知的とは何か?」が、実証的に(実際に作ってみて)探られていきました。

このころは「知的と思えるような処理をするプログラム(アルゴリズム)」の試作が人工知能(AI)研究であり、様々な「知的に見えるシステム(プログラム)」が作られました。この仕組みの人工知能を「アルゴリズムによるAI」と呼んでおきます。

[記号処理とアルゴリズムによるAI]

1960 年代「計算(数の処理)」だけでなく、人が「知的」と思う種類の情報を処理するための道具として、「記号(単語や論理記号等)」を効率よく処理するための、「プログラム言語」が開発されます(LISP等)。この道具を使い、様々な「知的に見える処理のプログラム(アルゴリズム)=知的作業を模倣するプログラム」が開発されていきます。「処理の仕方(=アルゴリズム=問題の解法)を、人間が、プログラムという形で直接与える」ので、アルゴリズムによるAIと呼びましょう。

プログラミングの経験のある方はご存じと思いますが、コンピュータの命令には「もし〇〇なら**しなさい、そうでなければ++をしなさい」という条件分岐命令があります。これは「(入力や途中計算結果)により「機械が判断」して、次に行うことを変える(処理の分岐)」することで、この命令があることにより、コンピュータは「判断」する能力を持ちます。そこで、様々な問題(入力)に対して「もし〇なら*して、そうでなければ+をする」という形に、やるべき(知的に見える)作業を、分解して機械にやり方(知的に見える作業の仕方)を教える。という形で、知的に見える処理を行おう、というのが、アルゴリズムによるAIの仕組みです。つまりやり方は(プログラムと言う形で)全て人間が教え、コンピュータの判断の能力(条件分岐命令を持つ)を生かして、様々な入力に対する「知的な反応」をする機械を作ろう、というのが最初の段階での試みです。

例えば、寒くなったら自動的に暖房したり、暑くなったら自動的に冷房したり... 「儲かりまっか?」と言われたら「ボチボチでんな」と答える対話プログラム、とか。いわゆる「定番のボケ・ツッコミ」的な対話なら、この手法で作れます(冗談として作られたイライザ(ELIZA)に始まる初期のチャットボットがこの仕組みで、人工無能とも呼ばれます。また、「確率計算や乱数を用いて」、その結果に基づき動作するものも、この方式でありながら十分賢く見えるかもしれません。麻雀プログラムやポーカープログラム(ゲームとも呼ばれます)は、得られる情報(手札や場に出ている札)などから、様々な選択をした時の確率を計算し、最も勝つ確率が高くなる手を出す、という手法で、ある程度のものが作られました。

もう少し高度なものとしては機械は繰り返しが得意という性質を生かし「しらみつぶしに探していく(探索)」アルゴリズムで、知的な作業を行おうという試みも行われました。たとえば迷路とか、ハノイの塔などのパズルを解くとか。「数式の変形」や「初期のチェスやオセロゲーム等の プログラム」なども、、その例です。なお、数式の変形については、演習室に、その発展形の Maxima (wxMaxima) を入れてありますので、機会があれば使ってみてください(方程式を解いたり、微積分の計算をしたり、いろいろな数式の処理が出来、またグラフも書けます)。

また、チェス、オセロゲーム、連珠、将棋、囲碁などプログラムも、いろいろ作られました。このようなゲームで、「次に、どう打つべきか?」は、場合の数(局面のパターン)が多すぎて、どのような場合にどのように打てばよいかを、直接指示しきれないだけでなく、そもそも「どう打つのが良いのか? をプログラマー自身が全部把握することすら不可能に近いくらい難しく膨大」になります。そこで、チェスやオセロのプログラムは、「もし、次の一手ここに打ったら、次、相手はどこに打てるか?」を試行錯誤して、その中から最善の手をしらみつぶしに「探索」することが試みられました。なお、その数は膨大になりますので適当な「盤面評価関数」を使ってお互いに「最善に近いと思われる手」だけを残し、そうでないものは候補から外し、2手先、4手先、6手先の盤面を、時間の許す限り「推論」し「数手先に、自分が最も有利になりそうな手」を選択し、これを「次の一手」としました。オセロだとこの手法で作ったプログラムに人間が勝つのは極めて困難になりました(そのくらい強いプログラムが組めます)が、チェスではそこそこ強いですが、ある程度強い人間にはかないませんし、将棋や囲碁などだと「可能性が多すぎて現実的な時間で探索しきれず」、全く人間にかないませんでした。

これが「60年代~70年代の人工知能」です。これらのものはある程度「知的に見える」場合もあるかも知れないけど「プログラム通りに動いているだけ」のものですから、あまり「知的」とは思えないかもしれません。所詮「プログラムで人間に指示された命令を、機械的に行っているだけ」だからです。

ところで、電卓でもできるような(決まったアルゴリズムによる)単純計算は「知的」でしょうか?1950年代までは、「計算できる(犬や猿にはできない)」ことが知的と思われいましたが、多分現在では「電卓でも出来るから、知的ではない」と思う人が多いのではないかと思います。では、電卓で出来る計算と同様に、「アルゴリズム (プログラムやマニュアル)通りの処理・作業」は「知的」でしょうか「知的でない」でしょうか?  人々は徐々に、「処理手順をプログラムで与え、与えられた手順に従い処理する機械」を「知的」と思わなくなってきているのかもしれません。何が変わったのでしょう? 客観的には何も変わっていません(^^; が、多分「人間が、(コンピュータの登場により)判断基準を変えた」のでしょう(^^; チューリング以前に「知的であるかどうかの客観的な基準」を考えた人はおらず、「主観的に」、「自分より下等と見なした存在(機械)に出来ることは、知的で無い」、「自分(人間)にしか出来ないことを、知的である」と位置づけたいのが「自分勝手な人間の考え(感情)」なのかもしれません(^^;

そこで1970年ごろから、「人間がプログラムで指示して、知的に見せかける」のではなく「考える機械(機械自体が、知識に基づき、思考する)」を作ろう、という動きが出てきます。


[知識ベースと推論エンジン]

これは「学習(経験)」に基づき、「推論」や「判断」をさせようと言う試みの進化版です。ただし、記号処理やアルゴリズムによるAIとは異なり、解析の仕方とか処理の仕方(アルゴリズム)を与えるのではなく「解決に必要そうな「知識」を覚え、その知識を(自動的に)組み合わせて、未知の問題に対する解答(処理内容)を見つける(思い出す、推論、試行錯誤)」と言う仕組みのものです。様々な情報(知識)を得ることを「学習」と呼びます。開発者が予めデータ(知識)を準備し、それを一気に学習させる場合と、使いながら、その経験(利用履歴)を徐々に学習データ(知識)に加えていく方式があります。

「知識」を整理したデータ・ベースを、「知識ベース」と呼びます。知識ベースは表の形で管理され、「Aである」、「Bである」...などの「単純な事実」の形の知識と「もし、A ならば、B である」「もし、Uならば、T である」「もし、F かつ D ならば、R である」...のような「〇なら□である」であると言う「事象の関係(ルール)」の形の知識があります。

問題の知識(例えばA)が与えられると、まず、問題の答え(A)がベースにあるか無いか探します。問題の答え(例えばAは真である、などの答え)あればそのまま(Aは真と)回答しますが、問題の答えが知識ベースにない場合には、知識ベース内の他の「知識」を組み合わせて(つなぎ合わせて)回答を探します。例えば「A→B」と言う知識と「Bは真」と言う知識があれば、これを「A→B→真」と組み合わせて、「Aは真」と言う「元々の知識にはなかった、新しい知識」得ます。知識を組み合わせて新たな知識を得ることを「推論」と言います。膨大な知識の中から、与えられた問題に関係する知識を検索し(「思い出す」に相当)、そのままの知識がなければ、関係しそうな知識を組み合わせて推論し(「考える」に相当)、「答えを知らない問題でも、論理的に推論して」結果を得ます。「処理手順(アルゴリズム)」がわからなくても「正解を得るのに必要な知識」があれば「膨大な知識を組み合わせて考えて」処理をしていく、と言うのがアルゴリズム形のAIとは違うところです。

'80年代~'90年代、この「知識ベースと推論エンジン」の手法を用いて、専門知識(狭い領域の知識)を組み合わせて推論するシステム(エキスパートシステム)が試作されます。例えば病気の診断(病気と症状の関係の知識の適用)や、裁判(法律の知識の適用)を行うシステムなどが試作されました。 その結果、専門家が扱う一見「高度に知的」と思われる「計算」や「論理演算」「専門知識を用いた推論」は比較的容易に機械化可能だが、「人間にとって当たり前」と思われることが「かなり難しい」ことに気が付き始めます(難しい例:音声認識、画像認識、日常会話、雑談等)。人は、何かを判断する時に用いる知識には「常識的な知識」を用いることが多く、また「常識的な知識」は多岐にわたり膨大であり、データベース的手法で扱うことは極めて困難だからです(フレーム問題と呼ばれます。現在の話題(問題)には、どの分野(枠組み(フレーム))の知識が必要か、を簡単には判断できない(=必要な知識の範囲を、個々の知識にアクセスする前に絞り込むことが困難)ために起こる問題で、極めて厄介な問題です。人はどのようにして文脈から必要な知識の範囲を絞っているのか?という仕組みの解明が必要です。「常識」の知識量の多さの問題が複雑であるとの認識が深まり、「エキスパートシステムの流行」 は一旦去ります

なお、'80年代に入ると、単にあらかじめ与えたデータを、決まったアルゴリズムで処理するだけでなく、経験... つまり過去の「履歴」等も整理して「データ」として利用され始めます。これを「学習」と言います。過去の履歴が学習されると、同じアルゴリズムでも、反応(答え)が段々に変化していきます。 現在使われている「かな漢字変換機能(読みから、漢字を推測する)」も、この方法で実現されています。学習機能を備えた「かな漢字変換」の機能も、使い込むと(十分学習させると)、ちょっとは賢い、と思えませんか?(^^; 同様に「過去の経験」から「学習」して、その学習データを統計学や確率論の考え方で分析して、妥当そうな判断をする仕組みが色々な場面で使われはじめます。 また、例えば「迷惑メールの自動分類」などは、過去の「迷惑メール」・「迷惑メールでない」と分類されたメールに含まれる単語出現頻度を求め(学習)、そこから「新たに来たメールが、迷惑メールである確率」を、条件付き確率論の手法(ベイズ定理)で迷惑メールで有るか否かの確率を計算し、その確率が例えば99.99%以上であれば、読む前に迷惑メールフォルダーに自動的に移動する、と言う処理をします。「ベイジアンフィルター」と言われる手法ですが、「機械が、メールの中身を読んで、迷惑メールかどうかを自動的に判断する」と言うのは、結構「知的」かもしれませんね。また、ある文章があった時、それを「誰が書いたものかを推定するシステム」もあります。これも(初期のものは)同じ仕組みです。

このように、限界があっても、目的によっては、「アルゴリズムによるAIや、知識ベースと検索エンジンによるAIでも、学習機能や統計処理と組み合わせると、「ある程度、知的に見える」機能が実現」でき、現在でも目的によっては便利に使われています。

余談ですが、その後コンピュータで扱える情報量は、(ムーアの法則に従い)およそ20年で1000倍のペースで増え続けます。そして'95 年にインターネットが普及し始め、2000 年頃からビッグデータの利用 (大量の情報を収集・蓄積、統計学的手法で分類・活用)することが可能になってきましたし、また、近年の「(ニューラルネット等による)自然言語解析(文章を読む)技術の進展」や「統計解析の手法の進歩や推論アルゴリズムの進歩」により、2010年には「本やネットから、大量の知識を学び、その知識を組み合わせて推論を行い、解答する、実用的な規模のエキスパートシステム」が現実的になります。IBM の Watsonが代表的なもので、高度な自然言語理解+エキスパートシステムにより、2011 年に米国のクイズ番組でクイズ王を破り、2016 年には、患者の白血病のタイプを10分で見抜き、適切な診断を行い患者の命を救いました。知識データベースの構築には、高度な自然言語理解による学習システムが使われ (クイズ用には、100 万冊分(70GB)の文書データ。診断用には、100 万冊以上の癌に関する論文)が用いられました。なお、自然言語理解のシステムも搭載していますので、質問と回答も自然言語(人間が使う普通の言葉。英語とか日本語とか)で行えます。IBM Watson はネット経由で利用出来「Q&A システム」として様々なデベロッパに提供されています。現在では「範囲を限れば(フレーム問題が深刻にならない範囲では」この「知識ベースと(進化した)推論エンジンによるAI」も、便利に使われています。


9-4. 「脳の活動」をコンピュータで再現しよう (1990以降に生まれた、現在主流のAI技術)

では最後に、1990年代 から始まった新しい流れ「ニューラルネットワーク(以後、ときどき NN と略記)」について、の発展の歴史を紹介します。

知的に「見える」処理をコンピュータで行う、と言う考えよりは、知的活動をしている(と人間が思っている)「脳(神経細胞の塊)」の仕組みそのものを、コンピュータで再現しよう、と言う試みが行われ、進展しています。この「脳の活動(神経回路網)」をコンピュータで再現することにより「知能」を作ろうと言う試みは、2010頃より飛躍的に発展しました。まずその歴史をさっと見ていきます(歴史を紹介する上で、今回仕組みについても若干紹介しますが、仕組みについて詳しくは「次回」対面ではデモンストレーションも入れて、説明しますので、今回は「仕組みについては、なんとなく、の理解」で良いです)。

動物には「神経細胞(ニューロン)」があり、体内での様々な情報伝達や情報処理を担っていることがわかってきます。

神経細胞は糸のように伸びた構造(シナプス)を持ち、シナプスを通して他の神経細胞と繋がり、シナプスを通る「生体電気の信号」として他の神経細胞に様々な情報を伝えています。1958 年、この神経細胞(ニューロン)がシナプスで電気信号を中継・伝達する神経回路の仕組みを、数学的にモデル化する試みが行われます。

1つずつの神経細胞の動作原理は比較的単純なのですが、「それが多数個、複雑に絡み合ったとき、どのような振る舞いをするか?」は、当時全くわかっていませんでした。そこで、数学的にモデル化した「ニューロン」が「シナプス」により多数繋がっている状態「ニューラルネットワーク:以後ニューラルネットあるいはNNと略記」を考え、その性質を数学的に解明する研究が進められます。いきなり脳のような複雑なものは大変なので、まずは「視神経」に注目し「網膜から情報を伝達する視神経は、層状構造をしている」ことに注目し、「層状のニューラルネット」の探究から始まります。

まず最も簡単な「入力層・出力層」の2層。

入力層と出力層を繋ぐ(シナプスの)結合の強さを色々変えると、様々な「論理演算(OR,AND,NOT)」を行う機能があることがわかりました。そして、「結合の強さを、様々な入力に対し、望ましい結果が出力するように変化させる(=学習させる」)ことにより、情報処理能力が変化する(向上する)ことも見出されました。しかし、同時に2層では排他的論理和(XOR)が表現できないことなどもわかり、「入力層・中間層・出力層」の3層からなるNNの研究が始まります。

そして、3層からなるNNなら、結合の強さを適切に選べば、排他的論理和(XOR)の演算も可能であり「任意の論理演算が表現可能」であることが示され、また「任意関数の近似」も、十分な数のニューロンを使えば可能であることも分かり、「ニューラルネットワークには、高い情報処理能力がある」ことが明らかになってきます。問題は、多数ある神経細胞間の「繋がりの強さ」をどのように(適切に)求めるかですが、これもまた、「入力と正解」の組を多数与えること(=学習)により 3層以上の、「NN」の結合の重み(神経細胞の繋がりの強さ)を自動的に最適化する方法=効率的な「学習方法(誤差逆伝搬法)」が(1960年~1986年に渡って、何回か)提案されます。「入力層・中間層・出力層」からなる3層のNNは、3層パーセプトロンとも呼ばれ、多数の手書き文字の画像データと何の文字を書いたのかの組を「学習するためのデータ(教師データ)」として用いて、誤差逆伝播法によりニューロン間の重み(結合の強さ)ろ決めると、簡単な手法にも関わらず、高い認識率を実現する「手書き文字認識システム(未知の手書き文字を判読するシステム)」を実現できることが明らかになり、1995年頃、ニューラルネットブームが沸き起こりました。

つまり、神経細胞(ニューロン)の働きをモデル化したものをつなぎ合わせた、ニューラルネットワーク(NN)は、文字の形などのパターンを「学習」し、未知の問題(未知の手書き文字)の解答を「予想」する能力があることがわかりました。

しかし、認識精度を精度を上げるために、多層化するに従い「過学習(細かい無意味なことばかり学習し、本質を見失い、似た問題に対する妥当な回答ができなくなる状態)」や「認識率が上がらない」などの問題が明確化し、2010年ごろには、ニューラルネットワーク技術は誰も見向きもしない、時代遅れの技術とみなされていきました。

ところが、2012年9月、「膨大な画像データの中から、猫の写真を選び出すコンテスト」で、カナダ・トロント大学のチームが、いきなり「他者に圧倒的な差をつけて優勝」しました。しかも当時「時代遅れと思われていた、ニューラルネット」を使う方法であったので、世界中が驚き、研究チームのメンバーはgoogle社に移り、その後「革新的なNNによるAI文明」を牽引していきます。彼らが使った手法は「多くの層を持った、深い階層のニューラルネット」であり、さらに、従来のようにすべての層に同じ手法で学習させるのではなく、「層ごとに、異なる特徴を持たして役割分担をさせる」という手法でした。具体的には、浅い層では畳みこみ演算などにより「図形パターンの局所的な特徴抽出と分類」を行い、この処理により抽象化された信号から、さらに深い層で「判定する能力を獲得」させる、という仕組みです。浅い部分のパラメタは固定化し、大量の画像で学習させる部分は、深い部分だけにすると、過学習などがおこりにくくなります。このように、 階層により異なる役割を持たせ、学習する部分を限定することにより、層を増やしても効果的に学習させることができることが、実証されました。この手法はディープラーニング:深層学習と呼ばれています(古臭いと思われていたニューラルネットのイメージを払拭するために、新しい言葉「ディープラーニング」を使い、新規性をアピールしたともいわれています)。

ディープラーニングの技法により、深い階層のニューラルネットでも効率的に学習が進み、画像認識等で驚異的な認識率を達成したことにより、ニューラルネット技術が見直され、以後飛躍的な発展をしていき、現在に至ります。


・文字認識、音声認識などが「飛躍的に」発展(人間とほぼ同等、あるいはそれ以上)

・Siri、Googleアシスタントなどの、高度な不特定話者「音声認識」 が作られます。

・機械翻訳が「飛躍的に」発展(人間に迫る)。Google翻訳(2016年以降、NNによる自動翻訳システムに変更)

・Alpha GO(囲碁ソフト、盤面評価と次の一手選択にディープラーニングの技術を利用) 等が作られ、囲碁プログラムなどが「飛躍的に」発展(人間以上になる)。しかも(定石も何も教わらず)、ルールのみからの自習(自分対自分の対戦で学習=強化学習)だけで、人間のチャンピオンに圧勝した(過去の人間の対戦を学習した)AIに対しても、圧勝(AIのみで、人類の囲碁の歴史を凌駕する学習を実現)。

・高い「画像認識能力」の普及(標識や人間などの障害物の自動認識+危険回避を備えた自動運転、google 翻訳のカメラ) …

「帰納的」に学習し、学習結果に基づき「推論」するシステムなので、アルゴリズムが分からない、ルールが分からない問題でも適用可能。 そのため、従来の手法で実現が難しかった知的処理の多くが、「ディープラーニングのニューラルネット」 で可能になる(あるいは性能が飛躍的に向上)。

・イラスト生成AIの飛躍的発展(StableDiffusionやMidjourneyなど:2021年8月頃から一般に公開)。

・自然言語処理の飛躍的発展。Word2Vec(2013:単語の使われ方による分類=単語の意味理解), Transformer(2017:文章をエンコーダにより理解し、それをデコーダーで文章生成する、文章変換器), BERT(2018: Transformerのエンコーダー部分の飛躍的改良), GPT(2018: Transformerのデコーダ部分の飛躍的改良)などが発表され、その後 「大規模言語モデル(Large Language Model: LLM : 大量の文章を学習し、文書の意味を理解したり、文章を作成したりする能力を持つAI)」が飛躍的に発展し、自然言語処理技術が革命的発展。ChatGPT 等の実用的な「大規模言語モデル」が生まれ一般に公開され、自然言語処理(文書理解、文書作成、翻訳等)以外の処理にも、「広い範囲で、汎用的に応用可能な技術である」ことが分かる(汎用AI時代の幕開け?)。google検索や翻訳などにも、順次、これらの機能が組み込まれる。

・Bing Chat(GPT4+bing検索), Bardなど、チャットAI型の検索エンジンのサービスが、一般に公開。

....
現在に至る


9-5. まとめ

「人工知能:AI」の元々の意味は「知的と思われることを実現する技術(あるいは成果物)の総称、(特定の技術を意味する言葉ではない)」です。そして「(計算する)機械が「知能」を持つかもしれない」という、可能性は、電子計算機(コンピュータ)が生まれる前に、チューリングにより初めて指摘され、「知的とは?知性とは?」という人間に対する根源的な問いかけも、そのころ生まれてきます。そして、実際にコンピュータ(計算する機械)が普及し、実際にコンピュータを使って「知的と思われることを実現する技術」を、実際に試作したりすることを通して「空理空論ではない、実証できる(実証すべき)現実の問題(思想ではなく、実証科学の問題)」として、位置づけられていきます。

様々な処理が実際にコンピュータで可能になっていくに従い、「知的処理の印象や解釈(知的という言葉の定義?)」が、人により、時代により変化してきています。そして、「知的と思われることを実現する技術」は、(知的と感じることの変化にもかかわらず)発展しつづけています。そのため、「世間一般で使われるAIというう言葉」は「バズワードの一種」になっている実態があります。そのような状況では「AI という用語の定義」にこだわること自体には、あまり意味がないかもしれません(コンピュータを使うこと自体がAIと呼ばれた時代もありますから)。ですから、言葉ではなく、「それぞれの技術の中身」が重要です。

そして、今までに生まれた人工知能技術は、大きく3つの方向がある、と、(技術的にも歴史的にも)まとめられると思います。


では今回は、このへんで終わりにし、次回は近年急速に発達している「ニューラルネットワークによるAI」について、もう少し具体的に。(対面授業ではデモンストレーションを含め)紹介していきます。


---補足---

ニューラルネットの学習には、膨大な計算が必要になるため、通常のコンピュータ(CPU)では荷が重いので 「スーパーコンピュータ」等で行うのが普通です。

なお現在では、一昔前のスーパーコンピュータと同じ仕組みの部品「GPU(画像処理専用チップ)」があり、特に「NVIDIA 社製 CUDA 対応GPU」搭載の PC(ゲーム用の高性能PC等) なら、一昔前のスーパーコンピュータ並みの環境で 小規模なニューラルネットの構築などが可能です。なお現在の「AI用の小型のスーパーコンピュータ(普通の企業が買える程度の価格のもの)」も、高性能なGPUを搭載したグラフィックボードを複数枚繋げて作ることが多いです。また、GPU の流用ではなく、ニューラルネット専用チップも登場しています。ちなみに既にiPhone 等には、bionicチップ(毎秒10兆回を超える演算が可能なニューラルネットワーク演算用のチップ)が搭載されています。 一昔前には(当時の)スーパーコンピュータが必要だった規模の人工知能の構築も、現在では、安価で高性能な GPU 等の普及(ゲームのおかげ)で、PC やスマートフォンでもある程度可能ですです。ただし、Chat GPTみたいな本当に大規模なニューラルネットの構築には、大規模なスーパーコンピュータが必要です。