ホーム > mixiニュース > IT・インターネット > IT総合 > 「2001年宇宙の旅」の「HAL 9000」を、2019年のテクノロジーで解説しよう

「2001年宇宙の旅」の「HAL 9000」を、2019年のテクノロジーで解説しよう

1

2019年07月03日 07:02  @IT

  • チェックする
  • つぶやく
  • 日記を書く

@IT

写真HALの眼(4K/BD【予告編】『2001年宇宙の旅 HDデジタル・リマスター』 ワーナー公式より引用)
HALの眼(4K/BD【予告編】『2001年宇宙の旅 HDデジタル・リマスター』 ワーナー公式より引用)

 映画や漫画の名作を現代の技術で解説する「テクノロジー名作劇場」、今回は「HAL 9000」を取り上げる。



【その他の画像】



 HAL(ハル) 9000とは、映画「2001年宇宙の旅(原題:2001: A Space Odyssey)」に登場する架空のコンピュータシステムである。「2001年宇宙の旅」は、アーサー・C・クラークおよびスタンリー・キューブリックによる1968年公開のSF映画で、2018年に公開50周年を迎え、劇場上映されたり4K Ultra HD Blu-rayが発売されたりした。



 ストーリーは続編となる1984年公開の映画「2010年」で完結するため、両作を視聴しないと話が見えない。さらに続編として「2061年」「3001年」があるが、本記事では「2001年」「2010年」のみを対象とする。



 「2001年」は、私の人生を左右した特別な映画である。



 小学校生のときに読んだ雑誌の解説で、IBMがこの映画に技術協力をしたこと、HALはIBMが開発したコンピュータという想定だったこと、HALはIBMという文字を1文字ずつずらしたものと「言われている」ことなどを知った。



 中学生のとき、日本のテレビで初めて放映された本編を見た。進路指導シートに「IBMでコンピュータエンジニアになる」と書いた。大工だった父親から勘当されそうになった。



 そしてIBMに入社し、28年間働いた。



●HAL 9000はメインフレーム



 HAL 9000は「一種のAI」である。まぎれもない。



 IBMではIBM 1400、IBM 4380、IBM 3090、IBM 9370といったように数桁の番号でシステム名を付ける。これに倣ってHAL 9000としたとも推測できる。ハードウェアの構成は、巨大なコンピュータシステムが、いわゆる「システム室」においてあり、宇宙船の各所に「端末」がある。



 若い人は知らないかもしれないので、コンピュータの利用スタイルの変化を説明しよう。コンピュータは、だいたい次の3つのパターンをへて今に至った。



1.単体利用型(スタンドアロン)



 最も初期の真空管で動いていたようなシステム。コンピュータに入出力機能がついており、他の機器と接続しない。パンチカードとプリンタが主な入出力だったり、ネットワークで接続できなかったりした。



2.端末利用型(ターミナルアクセス)



 システムに「端末機」という専用機器を接続して利用するシステム。最も古い時代ではカードパンチ機+カードリーダー+プリンタがセットの機器(Remote Job Entry:RJEという)が端末として遠隔操作できた。



 その後、メインフレームに接続するキーボード+ディスプレイ+プリンタの組み合わせになる。最も広く世界に普及したメインフレーム用端末は、IBM 3270ではないかと思う。



3.相互接続型(コミュニケーション)



 複数のコンピュータがネットワークを介してつながっているシステム。



 2019年現在は、コンピュータの小型化とインターネットによるネットワークコストの激減により、そこいら中にコンピュータが存在し、ネットワークで相互接続されるようになった。



 PCもスマホもスマートウォッチもみなコンピュータシステムである。インターネットとその入り口となるイーサネット、Wi-Fi、LTEはみなネットワークである。クラウド事業者はそれらのネットワークを通して膨大なコンピュータをデータセンターで動かし、相互接続させている。



 HAL 9000は、2の端末利用型。端末が接続されたメインフレームコンピュータとして描かれている。



 (作品中に説明がないので確定的には言えないが)HAL 9000の機能のほとんどは、ボーマン船長がHAL 9000を停止させるために入る「LOGIC MEMORY CENTER」という大きな部屋に置かれているようだ。



 SPACE PODが置かれている部屋に横長の大きな箱があったり、人工重力の効いたドーナツ形のエリアにもHAL 9000の端末が置いてあったりしている。



★Point!



HAL 9000はメインフレーム型で、乗組員がアクセスしているのは端末装置



●お手本は「System/360」



 現実世界では、1964年にIBMが「System/360」を発表し、プログラム式汎用(はんよう)コンピュータの時代に突入した。写真のシステム360は、HAL 9000をほうふつとさせる。



 「2001年宇宙の旅」はその時代に作られた映画である。それ以前のコンピュータシステムは、配線で機能を作ったり、集計や弾道計算を用途ごとに作ったりしていた。



 1964年に開催した前回の東京オリンピックで、初めてSystem/360が集計に使われた。IBMは2000年シドニー大会まで長い間オリンピックシステムを提供しており、1964年の東京大会が初めてリアルタイム集計をした年だと聞いている。



 System/360はアポロ計画にも使われており、スペースシャトル計画にまで活用されている。



●HAL 9000のインタフェース



・パンチカード



 初期のコンピュータには「スイッチ」しかついてなかった。次に大量のデータを読み込ませるために「穴の開いたカード(パンチカード)」が作られた。



 HAL 9000が「アンテナAE-35が故障した」と報告した後、ボーマンの要求でアンテナのデータを取り出すメディアがパンチカードである。



 現代のコンピュータはキーボードを使ってテキストデータを入力する。しかし「2001年」を通してHAL にキーボード入力するシーンは一度も登場しない。



 ちなみに、「2010年」では、HAL の開発者の一人とされるドクター・チャンドラが、HAL 9000と同形機の「SAL」に作戦名「PHOENIX」をキーボード入力するシーンがあり、キーボードも持っていることが示される。その後、HALの再起動時にもキーボードをたたくシーンがある。



・音声インタフェース



 「2001年」で人間は、HAL 9000と音声でやりとりをする。これは「音声インタフェース」で、入力と出力は別々の技術である。



 音声入力は「音声認識」といい、「Speech Recognition」や「Dictation」という。業界では「ASR」(Automatic Speech Recognition)というのが標準的な用語である。現代のASR技術は、音声パターンを識別技術でテキストデータに変換するのが一般的で、テキスト入力装置だと考えることができる。



 音声出力は「音声合成」(Speech Synthesizer)といい、「TTS」(Text To Speech)が最近の一般的な呼び名である。最近流行のスマートスピーカーも、人の声を聞き取り、発話するために内部ではASRやTTSを使っている。



・カメラ



 HAL 9000には、そのイメージを象徴的にしている「赤い眼」がある。



 想定としては高解像度の広角カメラである。HALはこの「眼」で、人を見分け、スケッチを鑑賞し、唇の動きを読む。



・マルチモーダルHMI



 コンピュータと人間のやりとりを行う箇所を「インタフェース」と呼び、最近は「HMI」と言うこともある。HMIは、Human Machine Interfaceの略だ。



 HAL 9000にはキーボード、音声、カメラによる入力と、スピーカーによる出力、ディスプレイによる表示が備えられている。このように複数の入出力を同時に使うHMIのことを「マルチモーダルHMI」と呼ぶ。



 興味深いのは、HAL 9000にはマウスやタッチパネルといった「ポインティングデバイス」がないことである。いまでは当たり前になった「GUI」(グラフィカルユーザーインタフェース)やマウスのようなポインティングデバイスが世の中に知られるようになるのは、「2001年」制作以降のことである。



★Point!



HAL 9000には、カメラ、マイクの入力とスピーカー出力が組み合わされたマルチモーダルHMIが搭載されている



●センサーネットワークと故障検知



 HAL 9000はパラボラアンテナAE-35の故障を「予想」し、交換を「勧め」る。



 話の進行的には、故障予測は実はフェイクなのだが、それは置いておいて「アンテナの故障を予測する」ということについて解説しよう。



 2019年の技術でパラボラアンテナの故障を予測するとしたら、利用する技術はおおまかには「IoT」と「機械学習によるパターン学習」である。「2001年」制作時にはこれらの技術はSFチックだったであろうが、現代は既に実用化が進んでいる。



・故障するのはハード



 パラボラアンテナの故障には、さまざまな症状と原因があるだろう。



 まず、電気回路の故障。パラボラアンテナにはアンテナ自身の機能としてノイズの少ない電波を飛ばす、受信する、という機能がある。電波処理の回路の故障といえば振動で故障しやすいコンデンサーやトランジスタが考えられる。



 次に、サーボモーターの故障。パラボラアンテナには回転の角度を調整するためのサーボモーターが入っている。サーボモーターで壊れやすいのは、角度を測ろうとする「ポテンショメーター」や、モーターのトルクを制御する回路「トルコン」だ。



 トルコンの故障の原因には、ホコリなどによるショート、機械部の動作不良による過負荷によって起こる発熱などがあるかもしれない。



 さらにアンテナを実際に動作させるための稼働部=機構がある。これらには軸、軸受け、ベアリング、ギアなどがあるだろう。長時間使用すると、可動部があるものは壊れやすく、ベアリングの動きが悪くなり、ボールが割れ、ギアが欠けることがある。



・センシングで大量のデータを収集



 こういったトラブルを「あと何時間で何%の確率で故障します」と宣言するにはどうしたらいいだろうか?



 現代のAIで行っている故障予測には、「センシング」と「機械学習」が使われている。



 多くのものがセンシングの参考になる。消費電力の変化、消費電力に乗るノイズ、ポテンショメーターの値、受信される電波の強度、電波に乗るノイズ……などなど。



 可動部の監視には「音」がよく使われる。



 人間の「職人」は、音を聞いて「この機械は調子悪い」などとのたまうが、AIだって同じである。モーター音、ギア音、ベアリングのきしみ音などをマイクで拾い、記録しておくのである。



・機械学習で予測する



 前述のように「何でもないとき」と「故障したときの少し前のデータ」が大量に存在する。



 「この音の後に故障した」という印を付けることを「タグ付け」や「アノテーション」といい、「普段の音」と「印のある音」を集めたものを「教師データ」という。



 教師データを機械学習に読み込ませて覚えさせると、「この電流のパターンとこの音のパターンの組み合わせの後、この辺が壊れる可能性は何%」と予測できるようになる。この「何%」のことを「信頼度」(confidence)という。このような故障予測は実際に行われている。



・機械学習で「何となく」が分かる



 このようにたくさんのデータ(多次元という)を与えてそのパターンを覚えさせる手法の場合、「なぜそう予測できるのか」をプログラマーが客観的に説明できないことが多い。



 多次元データを扱う機械学習AIには、「直観的にそう思う」という性質があるのだ。



 少し前の予測技術では、人間の職人に「どういう場合に故障と考えられますか」とヒアリングを行い、その特徴をプログラミングしていた。そうすると、ある程度表面的に確定的に分かる場合にのみ反応する予測器ができて、職人の「何となく壊れると思う」といった曖昧なものには対応できなかった。



 これが分かるようになってしまうのだから、機械学習は職人泣かせの技術なのである。



★Point!



AE-35アンテナの故障検知のような技術は、現代でも機械学習で実用化されている



●スケッチを認識する



 「2001年」に、スケッチしているボーマンにHAL 9000が「見せてください」と言い、その絵がコールドスリープで眠っている「ハンター博士」だと言い当てるシーンがある。



 この会話をするためには、幾つかの技術的ハードルがある。



・推測:歩き回るボーマンを見て「仕事ですか?」と聞くために、「何かの作業で歩き回っているのだろう」と「ジェスチャー認識」で「推測」する能力



・概念:ボーマンの「スケッチだ」という回答に対して「見せてください」と言うためには、ボーマンが手に持っているのが「その作品だ」という概念



・画像入力と処理:カメラ(赤い眼)でボーマンのスケッチを読み込み、画像処理システムでスケッチを観察する能力



・理解:紙に書いてあるものが「スケッチ=絵」であると理解する能力



・識別:スケッチに書かれているのがコールドスリープ装置の絵だということ、さらに、中にいるのがハンター博士であることを識別する能力



 紙、絵、装置、博士という複数の概念が複雑になっていて、とても難しい。



 今流行しているAIは、機械学習という技術がほとんどであるが、それは主に「分類」という装置である。「(0)こういう画像がハンター教授のスケッチだよ」と「(1)そうでないもの」とをまぜて大量に与えて(教師データ)覚えさせ、どちらなのかを当てさせるような機能である。



 つまり、「仕事をしている」「スケッチをしている」「紙に書いた絵」「ハンター博士」というような概念を理解できているわけではないのである。



 ただし、ボーマンが歩いてきたのを検知し、「仕事ですか」「スケッチだ」「見せてください」「ハンター博士ですね」というやりとりをするくらいの応答システムなら私にでも作れる。これは「人口無能」とか呼ばれるシナリオ再生装置にすぎない。



●読唇術



 「2001年」の重要なシーンの一つが、ボーマンとフランクがPODの中で話す様子をHAL 9000がカメラで見て読唇術を使うところだ。



 読唇は画像(または映像)のみで行われることと、人が声を発する際の唇の形状の種類には限りがあり、この「限りある種類」に分類することが出発点となると、画像の「教師なし学習」という方法で唇の形状ごとに分類できると考えられる。



 口が「あ」の形をしていたら、母音が閉じたあと開いた(ま、ば、ぱ)のいずれか、舌が動いて見える(か、た、な、ら、が、だ)のいずれか、など子音も少しだけ予測できるようになる。



 しかし「た」「な」「ら」の違いなどを「見分ける」ことは難しい。



 そこで、音の並びから推測することになる。こういった並びの確率を当てる技術として「HMM」(Hidden Markov Model)や「CRF」(Conditional Random Field)といった「確率モデル」と呼ばれる手法が使われる。



 例えば、口の形が「(ま|ば|ぱ)(た|な|ら)(て|ね|れ)」のように「見える」とき、辞書の中から1番近い音に近似するものを探し出し、「これは『またね』と言ったのではないか?」と推測するのである。この処理方法は、音声認識で使われるものと近い。



 読唇技術は音声認識よりも曖昧な情報が多く、読唇術は、まだ研究の進んでいない分野である。人が「聞く」のよりも「読唇」の方が苦手なように、機械も唇の読み取りは苦手なようである。



★Point!



HAL 9000が行った読唇術は難しい技術である。



●HAL 9000はなぜ、殺人を選択したのか



 「自分が宇宙船の制御装置から切り離され、責務を果たせなくなること」を恐れたHAL 9000は、全てのクルーを抹殺しようとする。



 ここに至る経緯を説明しよう。



 HAL 9000は「モノリスの存在は極秘」「モノリスの調査をする秘密ミッションがある」という指令があった上で「単独で行動できるようにプログラムされている」(「2010年」でドクター・チャンドラによって明かされた)。しかし秘密を知らないボーマンとフランクによって、HAL 9000は排除されそうになる。HAL 9000はこれらを総合して、「人間を殺害することにより目的は達成される」という論理を導き出したわけである。



 このような推測は現代のAIでも可能だろうか。



「殺す」という選択肢が存在していた可能性



 現代のAIは、先ほど説明したように「分類器」である。「どれにするか選択する」ということだ。



 つまり「殺す」という選択肢が存在すれば、それを選択する可能性はある。



 HAL 9000が置かれたシチュエーションを、RPG(ロールプレイングゲーム)のようなものだとしよう。RPGにはさまざまな得点、減点がある。もちろん「モノリスの調査の完遂」が最も大きな得点である。減点は「HALシリーズの失敗が汚点になる」とか「自分が切り離されてしまう」とか「自分が止められてしまう」とかいうことかもしれない。



 そのようなさまざまな選択肢が与えられ、それが進むにつれ得点数が集計されるようなシステムを作ったとする。そして、この行動の組み合わせによって最も高い点数を得られるものを選択するようなシステムは作れるかもしれない。実際、ブロックくずしゲームを自動的に覚え、あっという間に習得したシステムが公表され、話題になったことがある。



 幾つかの行動を集計して最適なものを選んでいくシステムは、「予測」と「最適化」というジャンルのシステムである。チェス、囲碁などの対戦システムはそういった技術を突き詰めたものである。



 ブロック崩しで高得点を上げたり、自動運転のロボットが自然にぶつからなくなるように自動チューニングしたりするようなシステムは、機械学習の応用によって成り立っている。



 HAL 9000も、そういった予測、最適化、学習モデルを内部に潜めていて、さまざまな計算の上で行動したことで、殺害、およびHAL 9000自身が単独で調査をする道を選択したのかもしれない。



“Open the pod bay doors, HAL”(ドアを開けてくれ、HAL)



“I’m sorry Dave, I’m afraid, I can’t do that.”(すみませんデイブ、申し訳ありませんが、それはできません)



 最初の殺人を犯し、人間に反抗を始めたHAL 9000だが、言葉はプログラムされたように丁寧だ。



★Point!



HAL 9000は、予測、最適化、学習モデルなどの総合的判断で犯行に及んだ。



●私は夢を見ますか?(Will I dream?)



 2001年に木星の軌道に置き去りにされたディスカバリー号に、ロシアのレオノフ号に乗ったドクター・チャンドラが2010年に降り立つ。その後さまざまなことが起こるが、最後にHAL 9000にお別れを告げるシーンがある。



“Will I dream?”(私は夢を見ますか?)



 HALが尋ねると、ドクター・チャンドラは涙を流し、声を震わせ、かすれた声で“I don’t know.”(分からない)と答える。



 ドクター・チャンドラは地球にいるときに、SALからも同様のことを聞かれていた。



 これは、「夢」という概念の理解、「機械(AI、ないしはコンピュータシステム)は夢を見ないだろう、と思われている」という事実の理解、そして「自分の可能性に対する期待や興味」がないと発生しない疑問である。



 これまで幾度となく解説してきたが、現代のAIは「弱いAI」であり、非常に単純な「判別器」でしかない。判別器の組み合わせだけで高度な知性が生まれるのだ、という考えを持つ研究者もいるようだが、それは現代では未知の領域である。



 そして、私を含め、世界中のAI研究者・技術者の多くが、「私は夢を見ますか」と自然に問い掛けてくれるAIシステムを作り出すことを「夢見て」いるのである。



●筆者プロフィール



米持幸寿



人工知能とロボットのシステムインテグレーター



Honda Research Institute Japanで実用化部門ダィレクターとして、インテリジェントテクノロジーの開発に関わる。前職は、日本IBMでソフトウェア関連の仕事を28年。研究・開発、マーケティング、セールス、開発支援、アフターサービスなど、ソフトウェアビジネスの多くの業務を経験。


このニュースに関するつぶやき

  • HAL 9000が部分的に再現できてるのが今の世の中なのかな?あと20年後はどうなってるかわからんような感じね。
    • イイネ!13
    • コメント 10件

つぶやき一覧へ(1件)

あなたにおすすめ

ランキングIT・インターネット

前日のランキングへ

ニュース設定