ROIDCORE  Personified Agent  Conversation ROBOT  Dynamic Artificial Intelligence
仮想人格:ロイドコア
ロイドコア (ROIDCORE) β版
話し言葉による知識の記憶と想起を実現した擬人化キャラクター

トップページ | このサイトについて | プライバシーと共有 | お問い合わせ | 会社情報 | 四方山話
最新情報 | ロイドコアとは | ホワイトレポート | 人格の仮想化技術 | 応用例のご案内
動的人工知能 | 感性と感情 | マインドマップ | 人工知能言語 | 会話ロボット | 記憶モデル
表層と深層 | 不気味の谷と不気味な文 | 教師あり/なし学習

 ■ 表層と深層(自然言語の表層表現と深層学習)   作成日:2013/7/7

 自然言語処理や人工知能システムに限らず、知識情報処理や感性情報処理の分野では両者の関係が非常に重要と考えている。 このサイトでもよく引用している深層表現(メモリ上ではデータ)について、表層表現と対比して持論を述べてみたい。 ここに出てくる深層表現はチョムスキーの言う深層構造とは別物なので注意されたい。 ロイドコアで使用している「記憶モデル」の記憶と想起の特徴について少しでも理解の助けになれば幸いと思う。 また、芸術や思想における意識表現とも深い関係が有り、数式や記号では表しにくい情報分野に取り残されたフロンティアでもある。 ここでは以下の問題提起について述べている。

表層表現と深層表現の相違
大脳とニューラルネット

表現としての数学と論理学
表層文法から深層文法へ
人工知能システムと日本語


:深層表現とはどの様な記述形態を意味するのか?
:大脳の神経回路網では深層データはどの様な
 形式で記憶され保持されるのか?
:数学や論理学では表記に深層表現が必要か?
:学校文法は深層文法が規定されないのか?
:なぜ人工知能処理に日本語が関係あると
 考えているか?

仮想人格:小町
(C)高松啓二

【表層表現と深層表現の相違】
 副題に「深層表現」を用いたが、本来は自己矛盾しそうな言葉の表現である。 表現とは「表層化して現す」こと、心的状態の表出だからだ。 その深層データはそのままの形で表現することができないデータ形式を持つ筈である。 この「深層表現」は曖昧模糊であるがデータは相互に意味可換の形式を持つと考えてもらいたい。 どうしても気になる読者諸兄は【表層記述と深層記述】と読み替えていただいても構わない。
 例えて言うなら、写真は表層表現、芸術家が描く肖像画などは深層表現であろうか。 写真とはいえ、構図とライティングはプロの写真家が自分の意思で決めるので、素人のスナップ写真を想定して欲しい。 言い換えると芸術は人の「心の奥」で感じたものを絵、造形、音楽、パフォーマンスなどで 表出する手続きであると思う。実際は表層化されているのでどれくらい深層表現が感じ取れるか、 あるいは共感できるかが芸術性の価値といえる。 深層化と表層化のときに個人の高度な意識が関与して具体的な物、今風に言えば「見える化」の産物ができる。 この手続きは性格や感情の状態で動的に変化し、また時間の経過と共に変化していく性質のものと考えられる。
 自然言語処理は簡単に言うと文の構造や意味を解析をする訳だが、元の文の記述を表層表現と呼ぶ。 これに対し、構文から意味理解をしたデータ群を深層表現と呼称する。 深層表現のデータは大きな分散マトリクスになるのでこれをコードや記号とは呼びにくいと思う。 更に意味レベルの深層表現の下層(奥)を意識と呼ぶ事もある。想像上でも、どのような構造になっているか理解できていない。 俗に言う人格や性格はこの意識を社会生活における個性として規定したものと考えられる。

【大脳とニューラルネット】
 大脳の神経回路網を模倣したニューラルネットに拘る理由は他でも幾度となく述べている。 深層情報を感じるのが生きている人の脳であり、その感覚はコンピュータには無いとされる。 一方、情報処理装置としての大脳は完全でもなければ最適でもない。その意味では人の脳はコンピュータに劣る部分も多い。 高度な科学計算を駆使して有意義な結果を導き出す目的なら大脳に拘る必要は全くない。プログラミング言語で十分である。
 大脳の処理能力の素晴らしさは今更説明する必要もないが、生きているから生じるダイナミクスと環境依存・時間依存の処理が並列に行われている事だろう。 人の考えが時間を要する事から、情報処理において時間遅延の要素があることは容易に想像できる。 また、人の場合、一旦、考えを声に出して表出させると思考内容が異なる現象から、表出したデータが再入力される、 つまりリカレントになっている事も予想される。(耳は常時稼動なので当然ではある) 本を読むとき声に出して読まないと、内容が理解できない人に時々巡り合う事も証左の例ではないだろうか。
 ニューラルネットといっても、現在は多種多様なコネクションモデルが提唱されている。またデータもファジイやカオスを 使ったりと、あらゆる手練手管が溢れている。 ロイドコアの記憶モデルの特徴はコネクションが自己増殖で自由に結線できる。データは基本的に整数であるが 結線の多重化を許している為にダイナミックレンジが不足する事はない。考え方としてはブロックフローティング演算に近い。 極性は興奮性と抑制性があり、学習時の極性反転も制限されていない。実際の処、普通の学習では反転は起こらないと思う。 考え方の基本は大脳の機能模倣である。 そして少しでもその能力に近付くこと(原理模倣により機能実現)が「記憶モデル」の進化方向と考えている。

【表現としての数学と論理学】
 数学も論理学もその学問固有の記述(記号表現)を使う。しかしどのような表現手法であっても 深層表現はない。定理や原理に行き着いても記号論的に表裏一体で芸術にある「意識の多様性」や「不気味の谷」のような「奇妙さ」が存在することはない。 そのような曖昧性が存在しないのが数学や論理学である。逆説的にコンピュータは意識がないからこの分野に極めて適していると考えても良い。 万人が同じプログラムから同じ結果を得る事ができる。
 乱数が入らないゲーム分野では囲碁がその採り得る手数の多さからコンピュータが勝つのは最後になると思われている。 これに対比して、大脳の記憶シミュレーションには少なからず乱数的要素が必要であるだろう。あるいは温度という概念で 個々の微細状態が確率的に変化しマクロとなって状態が決定すると考えても差し支えないと考えている。 アニリング学習やボルツマンマシンにこの様な考え方がある。 温度やエネルギー場の概念は系全体へ一様に適応できるし、その簡便性が今でも良く使われる理由の一つと思う。
 そこで意識が無い記号表現的なコンピュータ言語+乱数で大脳の記憶モデルが記述できるのか、 確率変数にすれば良いのか、カオス結合系にすればよいのか疑問は尽きない。 一つ言えることは、カオスが存在しても人が発話するときは秩序状態に引き込まれている。 そうでないと混沌状態ではおそらく言葉にはならず、野生的な叫びみたいなものしか出てこないと思われるからである。 カオスが有望なのは多様性の実現が簡単にできる事にある。只どのように多様性があるかどうかは不明なままだが。 深層状態がカオスを生じても学習可能なクラスタリングに繋がるのであれば、利用価値は高い。

【表層文法から深層文法へ】
 この副題表現は個人的な造語である。あえて言うなら表層文法は学校文法の事であり、 深層文法は私達が普段使っている「日本語という空間内の漠然とした束縛」であろう。 従って、日本語の国文法を知らなくて日本語を普通に喋り、使いこなしている人は深層文法に従っていると解釈できる。 深層なので、「何故と」聞かれても答えられない事ではあるが、でも法則に従って会話するから意思を伝達できる。英語グラマを知っていても英会話ができないことも有り得る。
 表層文法がコンピュータ的であるから、文法記号として、ある程度記述可能だ、 自然言語処理はこの文法からスタートして、多様性やゆらぎを後から追加する。 初期のロイドコアもこれに倣ったが、話し言葉ではどうにもこうにもならない。 多様性やゆらぎが大きい。そもそも国文法の品詞分類すら、疑問に思える事が山程出てくる。 批判的に言えば、例外ありのこじつけ文法のように見えてくる。 だからこそ、ロイドコアでは表層データで学習しない。 深層データこそ、我々が経験的に使っているデータであり、この形式で考えていると思う。
 深層データに変換したあとの学習で得られるクラスタやゾーンは、完全に同じ学習でなければ同じにならない。 順番や頻度で変わる。表層データの深層化は殆どルールベースで行われるが、これが学習の効率や分解能を決定する。 このルールは本来、人に例えるならオンラインで学習させるべきものだが、これはうまくいっていない。 親、先生、他人、自分の声などその素性を区別できないといけないが、それ以上に何か別の信頼情報が不足している為だと思う。

【人工知能システムと日本語】
 私も含め、よく「人工知能技術を用いて自然言語の分析・理解をする」という表現が用いられる。 他でも解説している通り、このサイトで表現している自然言語は「人工知能言語としての日本語」の意味である。 この表現では分かりにくいのであえて前述の一般的な形容の仕方をしている。 これをプログラマ向けの言葉で書くと クラスや関数のプロトタイプ宣言を日本語で記述するという意味になる。 誤解の無いように断っておくが関数や変数の名前を日本語にすることではない。 当然、引数やフラグも日本語(文章)である。
 お昼ごはんを食べたかどうかを深層フラグで表す場合、 「お昼を食べた。」が真であり、「お昼を食べていない。」が偽である。 深層フラグの場合、真と偽の他に未知の状態が存在する。「分からない」(想起しない)である。 フラグを操作するときは記憶モデルに「そのものずばり」の文章を投げる。 勿論、「お昼は昼食である」を事前に教えておけば、「昼食を食べました」でも同じ様にフラグを操作できる。 厳密に言えば「お昼」と「昼食が」の完全一致はありえないからフラグは多様性を持ってしまうが現実的に問題は起こらない。 フラグを判定するときは「お昼は食べましたか?」や「お昼を食べましたか」などである。 「お昼を食べたいですか?」というチェックに関しては他の関連情報が記憶されていなければ「分からない」となる。 微妙なのが「お昼を食べていましたか?」や「お昼は食べてしまったのですか」などの場合である。 これは過去のデータとの関係で答えが違ってくる。(多様性の分解能で決まる)
 この例では国文法の規則に従う限り、リスプ言語やプロログ言語の類なら述語で記述できる。 当然、意味の多様性やゆらぎは別途、新たに記述しなくてはならない。 その意味ではプログラミング言語と「自然言語としての日本語」の違いであり、これらの処理系は どんなコンピュータ言語を使っても大差はない。プログラミングのし易さ、分かり易さで個人が趣味の選択をするだけである。 意味の多様性やゆらぎは深層化や表層化のときに処理されるのがこの記憶モデルの特徴である。 このときの階層的ルールベースが慣習や方言も含めた標準会話言語の文法を意味し、同時に意味辞書でもある。


 トップページに戻る
ROIDCORE  Copyright (C)2011-2015 Life Information Laboratory, Inc. All right reserved.