logo

ディープラーニングにおける連続学習 📂機械学習

ディープラーニングにおける連続学習

説明

ディープラーニングでの連続学習とは、人工ニューラルネットワークが複数のタスクを順番に学習することを言い、生涯学習、段階的学習と同義である。人間の場合、新しい知識を学んだからと言って、既存の知識を忘れることはない。もちろん時間が経つと既存の知識を忘れることもあるが、それは新しい知識を学んだからではない。しかし、人工ニューラルネットワークの場合、あるタスクを十分に学習した後、新しいタスクを学習すると、既存のタスクに対する性能が低下する現象が起こる。

例えば、MNISTをトレーニングセットとして使用し、0から9までの手書き数字を非常にうまく分類できるように訓練が終わったモデルがあるとする。この時、数体系を16進法に変えたくて、A, B, C, D, E, Fを追加でトレーニングする状況を想定しよう。すると、A~Fをトレーニングする過程で、あるいはトレーニングが終わった後に、元々学習していた0~9に対する正確さが下がってしまう。このような現象をcatastrophic forgetting[カタストロフィック・フォーゲッティング]と呼ぶ。catastrophic forgettingが起こる理由は、既に学習された重みが過度に調整されるためであり、これをsemantic driftと呼ぶ。ある重み$w_{j}$が猫を識別するのに重要な役割を持っている時、新しいタスクを学習する過程で$w_{j}$が変わってしまうと、人工ニューラルネットワークが猫をうまく区別できなくなるのだ。

そのため、連続学習では、catastrophic forgettingをできるだけ減らし、新しいタスクを学習しても既存のタスクに対する性能が落ちないようにすることが主な関心事である。さらに、学習が蓄積されるほど新しいタスクを学習する速度が早くなるようにしたり、新しいタスクを学習しながらパラメータが大きく増えないようにするなど、様々な方面についても研究が進められている。