人工知性を作りたい

私が日々、挑戦したことや学んだことなどを紹介していく雑記ブログです。 (新しいAI技術HTM, 専門の音声信号処理, 趣味のアニメ等も書いてます。)

インターリーブ学習ってなに?、機械学習に使えるの?

 

f:id:hiro-htm877:20190227114252p:plain

 

インタリーブ学習とは、「反復練習」などの学習法の1つです。

 

・インターリーブとは

 関連性のあるものや違うものを混ぜて学習することを、認知心理学では「インターリーブ」と呼びます。音楽やスポーツの世界では昔から取り入れられている方法です。

 

この学習法は、現在の機械学習にも用いられています。

同じ様な学習データを学習させ続けると学習が上手くいかず、過学習が起きてしまいます。そこで現在の機械学習では一般的に、学習させたいデータの関連性のあるものや違うものを混ぜて学習を行います。これがインターリーブ学習です。

 

ここでインターリーブについて以下のサイトの説明が分かりやすかったので、サイトのURLと共に引用させて頂きます。

studyhacker.net

 

インターリーブってなに?

関連性のあるもの、もしくは違うものを混ぜて学習することを、認知心理学では「インターリーブ」と呼びます。実をいうと、音楽やスポーツの世界では昔から取り入れられている方法です。

例えば音楽ならば、読譜、聴音、分析、理論、曲の演奏といった練習を代わるがわる行います。また、スポーツではランニングや筋力トレーニング、瞬発力や技能を身につける練習などを代わるがわる行うのが一般的です。

そして、そのテクニックがロバート・ビョーク博士らの絵の実験により、学習の基本原則に加わったというわけです。ビョーク博士はインタビューで、「ある情報を他の事柄と関連づけて習得すると、はるかに大きな学習効果がある」と伝えています。

また、人気サイエンスレポーターであるベネディクト・キャリー氏は、科学者らへの取材をもとに書いた著書『脳が認める勉強法』のなかで、いつも同じ場所で勉強するよりも、場所や背景を変える方が良い成績を出せると、実験結果をもとに伝えています。これもある意味「環境の反復」よりも「ランダムな環境」の方が良い学習効果をもたらす結果だと言えるのです。

このような効果が生まれるのは、関連性のあるもの、もしくは違うものを混ぜてメリハリのある学習を行うことによって、個々の特徴をより鮮明につかめるため身につきやすくなると考えられています。

 

 

私はこの学習法が、HTM(Hierarchical Temporal Memory)の学習法でもあるHebbian学習(ヘブ則)にも使えるのではないかと思います。

実際に以下の様に異なるデータの学習連続で1データずつ行い続けると学習が上手くいきませんでした。

これは1つのことを学習しても、その後に違うことのみを学習した場合、前に学習したことを忘れてしまうからだと考えます。

これが「反復学習」となります。

 

(変数a, b, cは異なる入力データとする。)

簡易ソースコード

for i in range(100):

 sp.compute(a)

for i in range(100):

 sp.compute(b)

for i in range(100):

 sp.compute(c)

 

そこで、学習データを交互に学習させること、つまりインターリーブ学習を行うことで学習が上手くいきました。つまり、ヘブ則においてもインターリーブ学習は大事だということです。

 

簡易ソースコード

for i in range(100):

 sp.compute(a)

 sp.compute(b)

 sp.compute(c)