Haskellでニューラルネットワークの重みを学習するために広告自動微分パッケージを使用したいと思います。必要なものだけを持っているかもしれないいくつかの関数を見つけましたが、それらが最初のパラメーターとして何を期待しているのか理解できません。最適化する機能に違いないのですが、正確にはどのような形なのかわかりません。彼らはこのような署名を持っています:
gradientDescent :: (Traversable f, Fractional a, Ord a) => (forall s. Mode s => f (AD s a) -> AD s a) -> f a -> [f a]
forall s.
私は、存在記号という名前の何かを意味することを発見しましたが、それ以上のものはありません。cost :: [Double] -> Double
私の質問は、 (重みのリストを取得する)のような署名を使用してコスト関数をこのライブラリに渡すにはどうすればよいかということです。