その1
でDPOの損失関数
が導出できたので、この関数の性質を分析してみます。
勾配がどうなっているか
まず微分してみます。整理するために
と置きます。後にこれは暗黙の報酬モデルであることが明らかになりますが、それはさておいて、まずは勾配を求めます。とすると、損失関数の中身は
という形式になっているので、連鎖律で
となり、ロジスティック関数の性質からなので、結局勾配はとなります。この1つ目は
であり、単純に良いものを増加させ、悪いものを低下させるように働きます。2つ目の
がその係数であり、つまり報酬によって上手いこと重み付けがなされると解釈できます。
DPOのさらなる理論解析
まず次のことを定めます。
これは報酬関数の集合をクラスに分割する同値関係を定めていることになります。
この同値関係について、次の補題2つがあります。
補題2. 同じクラスにある2つの報酬関数は、制約付きRL問題の下で同じ最適方策を導く
嗜好分布とは回答の良し悪しの組についての分布で、補題1はunder-specification問題としてPlackett-Luceモデル族については知られている話のようです。報酬が一意に上手く定まらないわけですが、逆に補題2から、クラスさえ決まってしまえばどの報酬関数でも問題ないことがわかります。
【補題1の証明】
一般的なPlackett-Luceモデル(Bradley-Terryモデルはこの内の特殊なケース)を考えます。特定の報酬関数によって誘導されるランキング上の確率分布をとします。手順はほぼ自明で、expなので和が掛け算としてくくり出せて約分できるので同じということになります。
補題2の証明もほぼ同様なので省略します。最適方策がに比例する形でかけるのでexpが打ち消し合います。
そして、以下の定理が成り立ちます。
(ちょっと書き方がわかりにくいのですが、要するに報酬をクラスとしてしか指定できていなかったところから、そのうちの一つに定まるという意味合いなのだと思います)
証明の概要として、最適方策を導く報酬のクラスに属する任意の関数に対して、以下のような写像を考えます。
これは要するにをの分配関数で正規化するような操作になっています。また、第二項はについてだけの関数なので、定義1より報酬関数としてのクラスは変わらないことがわかります。ここで、その1で求めた報酬関数についての等式(これはどの報酬関数についても成り立ちます)
を代入すると、きれいに消えてだけ残ります。つまり、どの報酬関数もこの写像によって一点に潰れるということなのではないかと思います。
別の見方をすると、分配関数
について、定理1を代入すると、
であることが直ちにわかるため、分配関数が1になる、という形で制約づけていると見なすこともできます。