対話AIの追加学習をすると誤差が生まれる
機械学習のモデル作成の理想は全て一括で計算することです。
10億の文章があったとするなら10億一度に計算すべきですが
文章が追加されるたびに数百万円~のコストがかかるモデリング作業を0からやり直すわけにはいきません
そこで追加学習という手法により少ない計算で新しい事を学ばせる手法が存在します
追加学習の弊害
雑に言うと「モデル」は重みと呼ばれる平均値や分散の集まりです
追加学習をするとは統計的に 平均の平均を取る 作業と等価の計算が行われます。
「平均」と「平均の平均」
次のグループの平均を計算します
- Group1: [1, 2]
- Group2: [5, 5, 5, 5, 5, 5, 4, 4]
平均
total = 1 + 2 + 5 + 5 + 5 + 5 + 5 + 5 + 4 + 4 = 41
average = 41 / 10
average = 4.1
平均の平均
group1_average = (1 + 2) / 2 = 1.5
group2_average = (5 + 5 + 5 + 5 + 5 + 5 + 4 + 4) / 8 = 4.75
total = 1.5 + 4.75 = 6.25
average = 6.25 / 2
average = 3.125
平均 = 4.1
平均の平均 = 3.125
となり誤差が生じます
これが追加学習の弊害です
AI追加学習で実際にはなにが起きる?
過去の情報が失われる等の弊害が起きるはずです。
弊「害」かどうかは人によるところではありますが
追加学習後には
「懸念される」→「心配だ」
みたいな単語候補の差が現れるはずです
新しいサンプル文章に含まれる言葉遣いに引っ張られるという現象が起きるはずです。
「懸念」「心配」を候補とするという重みに偏った変更が加えられ、単語予測時に昔は「懸念」を使っていたのに、追加学習後は「心配」が出てくるようになるわけです。
サンプル全体でゼロから学習し直せば、新しいサンプルを含んでいても「懸念」のままかもしれません。