言葉の発達の遅れ

実は娘の言葉の発達が遅く、ちょっと本気だして覚えさせないとやばいかな、という気持ちになってきたので本気だす。

背景

出来るだけ客観的に観察する。現在は2歳4か月。語彙は20~30語程度だろうか。最近は二語文をしゃべる。「ママ 行った」「パパ くつした」など。市の発達相談では明らかに遅いと言われているようだ(私はその場にいなかった)。具体的には、絵本を指差して「これ何?」と聞かれても答えられなかったというあたりを根拠にしているような気がする。好きな絵本のキャラクターであれば即答するのだが。

個人的には、二語文をしゃべっているあたりを考慮するとそれほど遅れているとも思えないのだが、発達相談の相談員が遅いと指摘しているというのは重く評価したほうが良いだろう。

言語の発達について、個人差がどの程度でるのか、何歳までに個人差が収斂するかを知りたくてネットをしらべたが、ネット上だと信頼できる情報を書いたページがあまりない。論文を検索するも、口蓋裂や自閉症、難聴などの具体的な症例を扱ったものが多く、個人差を扱ったものは無い。書籍を見たほうがいいのかもしれないが、本を読む暇があまりない。

学習とはそもそも何か

私は計算機科学専攻だったのでそういう観点で考えてみる。

人間の脳というのはニューラルネットワークでモデル化できる。だからと言って両者を同一と見なすのはかなり飛躍があると思われるが、大まかな特性などは似通っていると思われる。

ニューラルネットによる学習方法は大まかに分けて二つあり、教師あり学習と教師なし学習(自己教示学習)というものである。前者は目標値が明確に定まっていて、入力に対して正しい出力を出すような学習をするのに対し、後者はクラスタリングや自己組織化マップなどを出力するようなものである。最適解を自分で見つけ出すようなイメージに近いだろうか。

人間の学習のプロセスも似たようなところがある。たとえば猫と犬を見分けるとか、個々人を見分けるとか、そういうものはどちらかというと自己教示学習に近いような気がする。もちろん、誰かから「これは猫」「こっちは犬」と教示を受けることで学習するということもあるだろうが、その人が猫と認識するプロセスそのものが教示を受けた個体そのものに特化するわけではない。

それに対して、猫という大まかな生物のグループがあって、それの呼び名が「ネコ」であるということは教師あり学習に近いだろう。

これを踏まえて考えると、たとえば蝶々のイラストがあり、これは何?と指差しして答えるというのは結構複雑なプロセスであることが分かる。つまり、そのイラストや現実に見た蝶々や、その他のイラストなど、蝶々の模様や大きさ、羽の形などは皆ばらばらであるのに対して、その特徴量(特徴ベクトル)をうまいこと抽出し、指差されたイラストがまず蝶々というグループに属するということを認識なければならない。これは教師なし学習が得意とする問題である。その結果をもとに、蝶々のグループに属する特徴量に対応する言葉が「チョウチョウ」であることを導き出さなくてはならない。このプロセスは教師あり学習が得意とする問題である。

こうして考えてみると、近年話題になっているディープラーニングと似た構成になっているのが興味深い。ディープラーニング、とくに画像認識に応用されるような手法では、まずはじめに特徴量を教師なし学習で大まかに判定してしまうようなものが近年のトレンドだ。以前は特徴量分析は専門家がせこせこ手作業でアルゴリズムを考えていた。たとえばデジカメの顔認識アルゴリズムなんかはHaar-Like検出器と呼ばれるものを応用するケースが多いらしいが、これはHaarさんが頑張って作ったアルゴリズムの変法である。対して、ディープラーニングの新規性というのは、従来人間が頑張って作っていた特徴量算出のアルゴリズムまでニューラルネットがやってしまうということである。これは人間の脳の仕組みに非常に近いのではないか。人間の脳は解析的に物事を計算していないだろう。たぶん。

話を戻す。教師あり学習、教師なし学習いずれの場合においても、学習の成功(入力に対応する出力が収斂する)に対して最も重要なことは、ネットワークのパラメーター(ニューロンの数、ネットワークのトポロジ、初期のネットワーク重み)と学習回数である。これを踏まえて、人間の脳に何かを学習させるにはどうしたらよいかを考えてみると、ネットワークのパラメータはいじりようがないので、学習回数のみが効いてくる。

その発達相談でも「言葉のシャワーを浴びせてください」ということを言われたらしく、これは理にかなっているように思える。

ニューラルネットもそうだが、学習が成功するまでの学習回数は、ネットワークの初期値や学習するデータによってかなりばらつきがある。ネットワークの初期重みや学習データに対する学習が成功するまでの学習回数はカオス的な挙動を見せるのではないかと予想しているが、ほぼ当てずっぽうなのであまり深く考えないようにしよう。ここで重要なのは「ネットワークによって学習成功までの学習回数に差が出る」ということと、「学習を重ねないと学習成功しない」ということの二点だろう。

ちょっとまた話がそれてしまうが、人間の脳は極小値に収斂してしまい、最小値を得られないという可能性はあるだろうか。バックプロパゲーション法だとこういうことがある。つまり、正しい値をどれだけ学習しても、誤差が一定以上に小さくならないという現象だ。計算機のアルゴリズムではニューラルネットに限らず、こういうことはままある。で、人間で同じようなことが起きるかどうかは難しいところだ。とても専門的で難解な分野を除けば、たとえば四則演算などを例にすると、誰しもが初めは苦戦するものの、普通は完全に理解する。中途半端な状態で理解したまま止まっている人間はあまりいない。恐らく、極小値に陥ってそこから学習が進まなくなるのを防ぐための仕組みが備わっている、のだと思うのだが、もしそういう現象が人間でもあるとするならば、それを発達障害と呼ぶのかもしれない。

また話を戻す。人間の脳はおそらく、個人差はあれど学習回数を重ねれば、いつかは学習に成功すると。したがって、学習回数を重ねるのがまずはやるべきことだろう。

どのようにして学習をするか

ポイントは、教師なし学習にあると思う。学習の方針として教師あり学習はわかり易い。たとえば、「蟻」という概念を覚えさせるために、一つのアリのイラストを用いて何度も学習する、または、親などが同じようなアリのイラストを書いてアリという言葉を何度も繰り返し覚えさせる。その結果、蟻のイラストに対して「アリ」と反応するようになる。これはあまり意味が無い。なぜならば、教師なし学習で得られる、蟻の特徴量から蟻という概念をクラスタ化するプロセスが鍛えられていないからだ。極端に言えば、蟻のイラストを覚えたからと言って、実物の蟻を見てアリと認識できないということである。蟻という概念に対してロバストで無いのである。

じゃあどうすればいいかというと、実物の動いているアリや、タッチの違うイラストのアリ、「アリ」という文字を見る、または、さらにアリの巣をほじくってみるなどの多様な体験をするということが重要であると思われる。アリという概念を多角的に観察することでアリというクラスタが出来上がる。そのクラスタは、現実のアリとイラストのアリ、文字のアリでそれぞれ本質的に違う。違うが、それが形成された後に、それらが「アリである」という教師あり学習をする、すなわち、絵を見て実物を見て文字を見て「アリ」だと教えてあげることによってそれらのクラスタが結合される。異なるクラスタが上位のレイヤで結合されているという構図でロバスト性を獲得する。こういう風になってるんじゃないか。

最後にもう一度まとめよう。まず、物事の概念を多角的に体験させる。その後に、もしくはそれと並行して、その物事が統一された一つの言語としてあらわされることを示す。このようなプロセスが学習には重要なのではないか。

つまりなんだ

難しく書いたが、私の言いたいことは「理科の資料集」みたいなものだ。教科書だけでは分からない概念について、ビジュアル的にわかり易い資料があると学習の助けになる。そしてその『助けになる』というあたりに学習の本質が隠されているのではないか、という趣旨である。だから、それに基づいた学習方法をちょっと考えてみて、実践してみようと思う。