主旨:
多くのアルゴリズム開発は、損失関数の最小化という定式化ができる。
そのような定式化に成功したとき、根拠が明確なアルゴリズムを構築できる。
かつての私のアプローチ:
- 経験的なパラメータが多数あるアルゴリズム
- 経験的な評価指標
- 限られた評価シーンデータ
- 経験的なパラメータのチューニングの模索
その結果がもたらしたもの:
- その多数の経験的なパラメータを用いたものが本当に最適な結果になっているのかがわからなくなった。
- 例:対象物の移動速度、カメラの画角などの設置条件
それらを変えた時に、簡単にうまくいかない。
どのようにすれば、いいアルゴリズムを作れるのか見失う状況にはまった。
最近の論文を読んでみよう:
- 明確な損失関数を定義している。
- 訓練に用いたデータ・セット・評価用のデータ・セットを明確にしている。
かつての私のようなアプローチはしていない。
損失関数に基づくアプローチは、アルゴリズムの構築の手順を明確化する。
- 追加したい拘束条件が、損失関数への項の追加として記述できる。
- どの量を最小化するアルゴリズムなのかがわかりやすくなるので、どの量が計算に反映されていないのかがわかる
- 反映されてない部分で精度がでないのは自然なこと
- 学習は、損失関数を最小化するものです。
- 損失関数の最小化においては、パラメータを利用して損失関数が微分可能であることが必要になります。
- 画像のレンダリングにおいても微分可能なレンダリングが必要になる理由はそこにあります。
- 損失関数の計算がを複数のGPUボードに分割しても効率を損なわないような損失関数が、複数GPUボードでの効率のよいアルゴリズムです。
- 例:
- 背景の影響によって、対象物の分類・動作の分類などが影響を受けないようにする損失関数の定義例がある。
最小化というアプローチは数学・物理学の分野で頻出するアプローチ
- そのため、最小化の計算手法が高い。
- 最小化問題はよく解かれているのでノウハウも多い。
- 損失関数を1つ用意して、その量を最小化するアプローチは、物理学のいたるところで登場する。
- 例:ラグランジアン
ラグランジアンという関数を定義して、その停留値を求める手法である。
最小値は、なめらか関数においては、停留値の一つである。
運動の記述を一般化座標で定義して、そのラグランジアンの停留値を求める条件として、Euler-Lagrangeの方程式を得て、それを解くことで、力学系の解を求める。
- 例:ラグランジアン