差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
intro:researches:machine [2020/06/26 17:01] Hideaki IIDUKAintro:researches:machine [2023/06/02 13:40] (現在) – [収束解析] Naoki SATO
行 1: 行 1:
-====== 機械学習アルゴリズムの研究紹介 ====== +====== 機械学習研究 ====== 
-===== Euclid 空間上の機械学習とそ既存手法 ===== +===== ニューラルネットワーク訓練 ===== 
-[[https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD|人工知能]](AI)の急速な発展に伴い、[[https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92#%E6%95%B0%E7%90%86%E6%9C%80%E9%81%A9%E5%8C%96|機械学習]]、[[https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0|深層学習]]といった言葉をよく耳にします。この「学習」とは、いったい何を指すのでしょうか。「学習」とは、望ましい結果が得られるように機械に関するネットワークやパラメータを調整する作業とえます。もう少し数理的に表現すると、正解データとネットワークからの出力データとの誤差を最小化(最適化)するようにパラメータを調整することです。多くの機械学習手法はデータに対するモデル出力の誤差(損失関数と呼ばれる)を定義し、誤差を最小化するようにパラメータの更新(学習)を行います。+[[https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD|人工知能]](AI)の急速な発展に伴い、[[https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92#%E6%95%B0%E7%90%86%E6%9C%80%E9%81%A9%E5%8C%96|機械学習]]、[[https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0|深層学習]]といった言葉をよく耳にします。この「学習」とは、いったい何を指すのでしょうか。「学習」とは、望ましい結果が得られるように機械に関するネットワークやパラメータを調整する作業とえます。もう少し数理的に表現すると、正解データとネットワークからの出力データとの誤差を最小化(最適化)するようにパラメータを調整することです。多くの機械学習手法はデータに対するモデル出力の誤差(損失関数と呼ばれる)を定義し、誤差を最小化するようにパラメータの更新(学習)を行います。
 このように、機械学習と最適化はとても密接な関係があります。 このように、機械学習と最適化はとても密接な関係があります。
  
-機械学習に現れる損失最小化問題は、一般に、以下のように表現できます。+深層ニューラルネットワークに現れる損失最小化問題は、一般に、以下のように表現できます。
 \begin{align*} \begin{align*}
-\text{Minimize } f(x):= \sum_{t\in \mathcal{T}} f_t (x) \text{ subject to } x\in X.+\text{Minimize } f(x):= \frac{1}{n\sum_{i=1}^n f_i (x) \text{ subject to } x\in X.
 \end{align*} \end{align*}
-ただし、$f_t \colon \mathbb{R}^d \to \mathbb{R}$ $(t\in \mathcal{T}:\{1,2,\ldots,T\})$ は $t$ 番目の訓練データに関する損失関数、+ただし、$f_i \colon \mathbb{R}^d \to \mathbb{R}$ $(i\in \{1,2,\ldots,n\})$ は $i$ 番目の訓練データに関する損失関数、
 $X$ $(\subset \mathbb{R}^d)$ は空でない閉凸集合です。 $X$ $(\subset \mathbb{R}^d)$ は空でない閉凸集合です。
  
-この損失最小化問題手法を解くための機械学習手法として、[[https://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E7%9A%84%E5%8B%BE%E9%85%8D%E9%99%8D%E4%B8%8B%E6%B3%95|確率的勾配降下法]]とそれに基づいた強力な手法がすでに提案されています。 +この損失最小化問題手法を解くための深層学習手法(ここではオプティマイザーと呼ぶことにします)として、[[https://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E7%9A%84%E5%8B%BE%E9%85%8D%E9%99%8D%E4%B8%8B%E6%B3%95|確率的勾配降下法 (SGD)]]とそれに基づいた強力な手法がすでに提案されています。 
-例えば、[[https://www.nature.com/articles/323533a0|モメンタム法]]、[[http://jmlr.org/papers/v12/duchi11a.html|AdaGrad]]、 +例えば、[[https://www.nature.com/articles/323533a0|モメンタム法]]、[[http://jmlr.org/papers/v12/duchi11a.html|Adaptive Gradient (AdaGrad)]]、 
-[[http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf|RMSProp]]、 +[[http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf|RMSProp (Root Mean Square Propagation)]]、 
-[[https://arxiv.org/pdf/1412.6980.pdf|Adam]] や [[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] があります。 +[[https://arxiv.org/pdf/1412.6980.pdf|Adaptive Moment Estimation (Adam)]] や [[https://arxiv.org/pdf/1904.09237.pdf|Adaptive Mean Square Gradient (AMSGrad)]] があります。
- +
-畳み込み層が20からなる ResNet-20 を用いた[[https://www.cs.toronto.edu/~kriz/cifar.html|画像分類]]の結果は以下の通りとなります。既存機械学習手法に関する、エポック数((すべての訓練データについて学習し終えたときを、1 エポックとします。))に対する損失関数 $f$ のグラフです。ここで適用したアルゴリズムは経験的に良いとされている**学習率**((最適化分野では、ステップサイズ、ステップ幅とも呼ばれます。))を利用しています。+
  
 +[[https://www.cs.toronto.edu/~kriz/cifar.html|CIFAR-10]]データセットを用いたニューラルネットワーク ResNet-20 の訓練結果は以下の通りとなります。オプティマイザーに関する、エポック数((すべての訓練データについて学習し終えたときを、1 エポックとします。))に対する損失関数 $f$ のグラフです。ここで適用したオプティマイザーは経験的に良いとされている**学習率**((最適化分野では、ステップサイズ、ステップ幅とも呼ばれます。))を利用しています。
  
 {{ :intro:researches:training_loss_comparison.png?x400 |comparisons}} {{ :intro:researches:training_loss_comparison.png?x400 |comparisons}}
  
-ですが、これらのアルゴリズムを利用する際の最も困難な問題は、機械学習を適切に行うための学習率の調整です。例えば、適応学習率最適化アルゴリズムである [[https://arxiv.org/pdf/1412.6980.pdf|Adam]] や [[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] の収束解析に依ると、学習率 $\alpha_t \alpha/\sqrt{t}$ (ただし、$\alpha > 0$) を有する [[https://arxiv.org/pdf/1412.6980.pdf|Adam]] や [[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] は +==== クティカルバチサイズの存在定 ====
-\begin{align*} +
-R(T) \sum_{t\in \mathcal{T}} f_t (x_t) - \underbrace{\sum_{t\in \mathcal{T}} f_t (x^\star)}_{f^\star}  +
-\end{align*} +
-で定義されるグレト(ただし、$(x_t)_{t\in \mathcal{T}}$ は学習アルゴリムで生成される点列、$x^\star$ は損失最小化問題解)に対して、 +
-\begin{align*} +
-\frac{R(T)}{T} \leq M \sqrt{\frac{1+ \log T}{T}} +
-\end{align*} +
-を満たします((十分大きな $T$ に対して、$\sqrt{(1+ \log T)/T} \approx 0$ を満たします。))(ただし、$M$ は定数)が、損失最小化問題を高速に解くための適切な $\alpha$ を事前に設定するこは大変難しいです((Adam や AMSGrad といった適応学習率最適化アルゴリズム (adaptive learning rate optimization algorithm) は時刻 $t$ に対して学習率を調整しますが、$\alpha$ は事前に設する必要があります。))。この問題は、機械学習分野に限らず、一般の[[intro:researches:optimization|最適化アルゴリズム]]においても同様に困難とされています。 +
-加えて、既存の適応学習率最適化アルゴリズムは($R(T)/T \approx 0$ の意味でリグレット最小化を保証しますが)損失最小化問題を解くことが保証されていません。+
  
-===== Euclid 空間上の機械学習アルゴリズム ===== +===== 敵対的生成ネットワーク訓練 ===== 
-  * [[:iiduka:|H. Iiduka]]: [[https://arxiv.org/pdf/2002.09647.pdf|Appropriate Learning Rates of Adaptive Learning Rate Optimization Algorithms for Training Deep Neural Networks]], preprint. + 
-適切な学習率の設定を考慮しつつ、損失最小化問題を解くことを保証する適応学習率最適化アルゴリズムについて提案しています。\\ +[[https://ja.wikipedia.org/wiki/敵対生成ネットワーク|敵対生成ネットワーク]](GAN:Generative Adversarial Networks)目的関数はよう表現できます。
-$0$に収束するような減少学習率 (例えば、$\alpha_t = \alpha/\sqrt{t}$) を有する既存の適応学習率最適化アルゴリズム [[https://arxiv.org/pdf/1412.6980.pdf|Adam]] や [[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] の収束解析とは異なり、**定数**学習率を有する適応学習率最適化アルゴリズムの収束解析を与えています。具体には、以下の通りです。 +
-$(x_n)_{n\in\mathbb{N}}$は適応学習率最適化アルゴリズムで生成される点列とし、$\alpha, \beta$ は**定数**学習率(([[https://arxiv.org/pdf/1412.6980.pdf|Adam]] や [[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] では、$\beta = 0.9$ を利用しています。))とします。このとき、ある定数 $M_i$ ($i=1,2$) が存在して、 +
-\begin{align*} +
-\liminf_{n \to + \infty} \mathbb{E}\left[f (x_n)  - f^\star \right]  +
-\leq  M_1 \alpha + M_2 \beta. +
-\end{align*} +
-$M_i$ ($i=1,2$) はアルゴリズムを実行させる前に計算可能な定数であるため、この不等式の右辺が十分小さくなるように**定数**学習率 $\alpha, \beta$ を適切に設定できます。少し大まかに言うと、小さな定数学習率を有する適応学習率最適化アルゴリズムが損失最小化問題の解を近似できる、となります。\\ +
-これまでの減少学習率に対する適応学習率最適化アルゴリズムの収束解析では、リグレット最小化のみが保証されており、損失最小化問題を解くことまでは保証されていませんでした。 +
-この論文では、**減少**学習率を有する適応学習率最適化アルゴリズムで生成される点列の任意の集積点が損失最小化問題の解集合に属することを数学的に証明しています。詳細については、[[https://arxiv.org/pdf/2002.09647.pdf|こちら]]をご参照下さい。(説明終わり) +
-  * Y. Kobayashi and [[:iiduka:|H. Iiduka]]: [[https://arxiv.org/pdf/2003.00231.pdf|Conjugate-gradient-based Adam for Stochastic Optimization and Its Application to Deep Learning]], preprint. +
-既存の適応学習率最適化アルゴリズムと比べて高速に深層ニューラルネットワーク訓練可能なアルゴリズム CoBA を提案しています。主なアイデアは、既存の適応学習率最適化アルゴリズム +
-[[https://arxiv.org/pdf/1412.6980.pdf|Adam]]、[[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] で利用している確率勾配方向 $d_t - g_t$ を共役勾配方向 +
-\begin{align*} +
-d_t - g_t + \gamma_t d_{t-1} +
-\end{align*} +
-に修正した点です。[[https://ja.wikipedia.org/wiki/%E9%9D%9E%E7%B7%9A%E5%BD%A2%E5%85%B1%E5%BD%B9%E5%8B%BE%E9%85%8D%E6%B3%95|非線形共役勾配法]]は高速に最適化問題を解くための有用な手法の一つであるため、非線形共役勾配法と既存の適応学習率最適化アルゴリズムを合わせた CoBA の提案は自然であると思います。 +
-本論文では、 CoBA がリグレット最小化に関して、[[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] と同等の性能を有することを数学に証明しています。  +
-更に、テキスト分類や画像分類に対する [[https://www.nature.com/articles/323533a0|モメンタム法]]、[[http://jmlr.org/papers/v12/duchi11a.html|AdaGrad]]、 +
-[[http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf|RMSProp]]、 +
-[[https://arxiv.org/pdf/1412.6980.pdf|Adam]]、[[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] といった既存アルゴリズムと CoBA の性能比較を行い、CoBA が既存アルゴリズムと比べて高速に損失関数 $f$ を最小化し、かつ、高い分類精度を得ることを示しています。 +
-詳細については、[[https://arxiv.org/pdf/2003.00231.pdf|こちら]]をご参照下さい。(説明終わり) +
-  * K. Hishinuma and [[:iiduka:|H. Iiduka]]: [[https://www.frontiersin.org/articles/10.3389/frobt.2019.00077/full|Incremental and Parallel Machine Learning Algorithms With Automated Learning Rate Adjustments]], Frontiers in Robotics and AI: Resolution of Limitations of Deep Learning to Develop New AI Paradigms, Vol. 6, Article 77, 2019.  +
-[[https://ja.wikipedia.org/wiki/%E7%9B%B4%E7%B7%9A%E6%8E%A2%E7%B4%A2|直線探索法]]に基づいた適切な学習率を利用できるアルゴリズムについて提案しています。 +
-多層ニューラルネットワークなどといった深層学習においては、そのネットワークの規模に応じて扱う問題の次元が大きくなります。 +
-そのような問題を既存手法で効率に解くためには、学習する問題やネットワークに対して最適な学習率を事前にアルゴリズムに与える必要があります。 +
-しかしながら提案手法では、実行時に自動的に適切な学習率を[[https://ja.wikipedia.org/wiki/%E7%9B%B4%E7%B7%9A%E6%8E%A2%E7%B4%A2|直線探索法]]により探索する学習率事前の精密な調整を必要とせず用いることができます。 +
-本論文では、直線探索法を取り入れた増分劣勾配法や並列型劣勾配法が制約付き非平滑凸最適化問題の解へ収束する点列を生成することを数学的に証明するとともに、これらの手法を多層ニューラルネットワークの学習に適用して、深層学習への活用可能性について議論しています。(説明終わり)+
  
-===== 多様体上の機械学習とその既存手法 ===== 
-グラフやテキストなどのデータを双曲空間の [[https://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%AF%E3%83%B3%E3%82%AB%E3%83%AC%E3%81%AE%E5%86%86%E6%9D%BF%E3%83%A2%E3%83%87%E3%83%AB|Poincaré 円板モデル]] へ埋め込む Poincaré 埋め込みを利用することで、⾼次元の Euclid 空間でも実現できなかった高精度埋め込みを実現できる場合があります。[[https://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%AF%E3%83%B3%E3%82%AB%E3%83%AC%E3%81%AE%E5%86%86%E6%9D%BF%E3%83%A2%E3%83%87%E3%83%AB|Poincaré 円板モデル]] の図にもあるように、縁に進むほど密になる性質があるため、Poincaré 円板モデルは木構造データを埋め込むのに適していると言えます。 
-Poincaré 円板は Riemann 多様体構造を持つため、 以下のような Riemann 多様体上の損失最小化問題を解くことを考えます。 
-\begin{align*} 
-\text{Minimize } f(x):= \sum_{t\in \mathcal{T}} f_t (x) \text{ subject to } x\in X. 
-\end{align*} 
-ただし、$M_i$ は測地的完備 Riemann 多様体、$M = M_1 \times \cdots \times M_N$、$f_t \colon M \to \mathbb{R}$ $(t\in \mathcal{T}:= \{1,2,\ldots,T\})$ は $t$ 番目の訓練データに関する損失関数、$X_i \subset M_i$ は空でない測地的凸集合、 $X= X_1 \times \cdots \times X_N$ です。\\ 
-この損失最小化問題手法を解くための機械学習手法として、Euclid 空間上の[[https://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E7%9A%84%E5%8B%BE%E9%85%8D%E9%99%8D%E4%B8%8B%E6%B3%95|確率的勾配降下法]]を拡張した[[https://ieeexplore.ieee.org/document/6487381|Riemann 確率的勾配降下法 (RSGD)]] がすでに提案されています。 
-そこで、 Adam や AMSGrad といった Euclid 空間上の適応学習率最適化アルゴリズムを一般の Riemann 多様体上に拡張することは、Riemann 多様体上の損失最小化問題を高速に解くためには大変自然な発想であると思います。 
-しかしながら、Euclid 空間上の適応学習率最適化アルゴリズムの多様体上への拡張は、一般の多様体上に共通する座標系が存在しないことが原因となり、容易ではないと考えられます。 
-そこで、積多様体の成分を Euclid 空間における座標成分のようにみなして [[https://arxiv.org/pdf/1904.09237.pdf|AMSGrad]] を Riemann 積多様体上に拡張した手法 [[https://arxiv.org/pdf/1810.00760.pdf|Riemannian AMSGrad (RAMSGrad)]] が 2019 年に G. Bécigneul と O.-E. Ganea によって提案されました。 
-しかしながら、Euclid 空間上の機械学習アルゴリズム内でも示したように、 **減少**学習率 $\alpha_t = \alpha/\sqrt{t}$ を有する[[https://arxiv.org/pdf/1810.00760.pdf|RAMSGrad]] は 
-\begin{align*} 
-R(T) = \sum_{t\in \mathcal{T}} f_t (x_t) - f^\star  
-\end{align*} 
-で定義されるリグレット(ただし、$(x_t)_{t\in \mathcal{T}}$ は学習アルゴリズムで生成される点列、$f^\star$ は損失最小化問題の最適値)に対して、 
-\begin{align*} 
-\frac{R(T)}{T} \leq M \sqrt{\frac{1+ \log T}{T}} 
-\end{align*} 
-を満たします (ただし、$M$ は定数) が、損失最小化問題を解くことが保証されていません。また、適切な学習率設定と実用の観点から、**定数**学習率での収束解析は必要です((減少学習率 $\alpha_t = \alpha/\sqrt{t}$ は$t$が十分大きいとき、0 に近似されるため学習アルゴリズムがほとんど動かなくなる恐れがあります。))。 
-===== 多様体上の機械学習アルゴリズム ===== 
-  * H. Sakai and [[:iiduka:|H. Iiduka]]: [[https://arxiv.org/pdf/2004.00897.pdf|Riemannian Adaptive Optimization Algorithm and Its Application to Natural Language Processing]], preprint. 
-適切な学習率の設定を考慮しつつ、損失最小化問題を解くことを保証する適応学習率最適化アルゴリズムについて提案しています。\\ 
-$0$に収束するような減少学習率 (例えば、$\alpha_t = \alpha/\sqrt{t}$) を有する既存の適応学習率最適化アルゴリズム [[https://arxiv.org/pdf/1810.00760.pdf|RAMSGrad]] の収束解析とは異なり、**定数**学習率を有する適応学習率最適化アルゴリズムの収束解析を与えています。具体的には、以下の通りです。 
-$(x_n)_{n\in\mathbb{N}}$は適応学習率最適化アルゴリズムで生成される点列とし、$\alpha, \beta$ は**定数**学習率とします。このとき、ある定数 $C_i$ ($i=1,2$) が存在して、 
 \begin{align*} \begin{align*}
-\mathbb{E} \left[\frac{1}{n} \sum_{k=1}^n f(x_k- f^\star \right] \leq \mathcal{O}\left(\frac{1}{n}\right+ C_1 \alpha + C_2 \beta.+\min_G \max_D V(D,G):\mathbb{E}_\boldsymbol{x[\log D(\boldsymbol{x})] \mathbb{E}_\boldsymbol{z[\log (1-D(G(\boldsymbol{z})))].
 \end{align*} \end{align*}
-$C_i$ ($i=1,2$) はアルゴリズムを実行させる前に計算可能な定数であるため、この不等式の右辺が十分小さくなるように**定数**学習率 $\alpha, \beta$ を適切に設定できます。大まかに言うと、小さな定数学習率を有する適応学習率最適化アルゴリズムが損失最小化問題の解を近似できる、となります。\\ 
-これまでの減少学習率に対する適応学習率最適化アルゴリズムの収束解析では、リグレット最小化のみが保証されており、損失最小化問題を解くことまでは保証されていませんでした。 
-この論文では、**減少**学習率を有する適応学習率最適化アルゴリズムが損失最小化問題を解くことができます。 
-WordNet の単語全体 (82,115単語) を 5 次元 Poincaré 円板へ埋め込んだ際の結果は以下のようになります。 
-定数学習率を有する [[https://ieeexplore.ieee.org/document/6487381|RSGD]] (CS1, CS2) と提案手法 (CA1--CA4) に関する、実行時間及びエポック数に対する損失関数 $f$ のグラフです。 
-得られた収束解析に基づいて設定した定数学習率を有する提案手法 (CA2, **定数**学習率を有する [[https://arxiv.org/pdf/1810.00760.pdf|RAMSGrad]] と殆ど同様) が良い性能を有することを示しています。 
  
-{{ :intro:researches:training_loss_epoch.png?x400|comparisons_epoch}} +ただし、$G:\mathbb{R}^l \to \mathbb{R}^d \ (\boldsymbol{z} \mapsto G(\boldsymbol{z}))$は生成器で、 
-{{ :intro:researches:training_loss_time.png?x400 |comparisons_time }}+$D:\mathbb{R}^d \to \mathbb{R} \ (\boldsymbol{x} \ $or$ \ G(\boldsymbol{z})\mapsto [0,1])$は識別器です。\\ 
 +さらに、$\boldsymbol{x} \in \mathbb{R}^d$ は実画像、$\boldsymbol{z} \in \mathbb{R}^l$ はノイズで、 
 +$G(\boldsymbol{z}) \in \mathbb{R}^d$は生成画像です。 
 +実画像の次元$d$は、データセットによって決まっています。例えば、[[https://ja.wikipedia.org/wiki/MNISTデータベース|MNIST]]データセットならば$d= 28 \times 28 \times 1$となり、[[https://www.cs.toronto.edu/~kriz/cifar.html|CIFAR10]]データセットならば$d=64 \times 64 \times 3$となります。生成画像の次元は、実画像の次元と等しくなるように生成器が設計されています。ノイズの次元$l$は100や128などと設定されることが多いです。 
 + 
 +{{ :intro:researches:gan.png?600 |GAN}} 
 + 
 +生成器はノイズ、または[[https://ja.wikipedia.org/wiki/潜在変数|潜在変数]]と呼ばれる$\boldsymbol{z} \in \mathbb{R}^l$を入力とし、生成画像$G(\boldsymbol{z}) \in \mathbb{R}^d$を出力します。\\ 
 +識別器は、実画像$\boldsymbol{x} \in \mathbb{R}^d$または生成画像$G(\boldsymbol{z}) \in \mathbb{R}^d$を入力とし、入力された画像が実画像である確率$[0,1]$を出力します。 
 + 
 +生成器は、識別器に見破られない生成画像を作ることを目指すので、$D(\boldsymbol{x})=0, D(G(\boldsymbol{z}))=1$となるように振る舞います。 \\ 
 +識別器は、実画像と生成画像を完全に識別することを目指すので、$D(\boldsymbol{x})=1, D(G(\boldsymbol{z}))=0$となるように振る舞います。\\ 
 +すなわち、生成器は$L_G=V$を最小にするように行動し、識別器は$L_D=-V$を最小にするように行動します。\\ 
 +具体的には、生成器と識別器は[[https://arxiv.org/pdf/1412.6980.pdf|Adam]]などの最適化手法を使って、自身の目的関数が最小になるようなパラメータを探索します。 
 +これを踏まえると、GANの学習は、生成器と識別器をプレイヤーとするナッシュ均衡問題の局所的[[https://ja.wikipedia.org/wiki/ナッシュ均衡|ナッシュ均衡]]を見つけようとすることであると言えます。\\ 
 + 
 +{{ :intro:researches:cat.png?600 |afhq-v2:cat}} 
 + 
 +このように、GANは他の深層生成モデルと比べて高品質な画像を生成することができますが、その学習は非常に不安定であることが知られています。\\ 
 +より早く、より安定した学習で、より高品質な画像を生成するために、[[https://github.com/hindupuravinash/the-gan-zoo|たくさんのGAN]]が提案されています。 
 + 
 +==== 収束解析 ==== 
 + 
 +生成器のニューラルネットワークのパラメータを$\boldsymbol{\theta}$、識別器のニューラルネットワークのパラメータを$\boldsymbol{w}$とします。それぞれの目的関数を最小にすることを目指すので、 
 +\begin{align} 
 +\nabla_\boldsymbol{\theta} L_G(\boldsymbol{\theta}_n, \boldsymbol{w}_n)=\boldsymbol{0}, \nabla_\boldsymbol{w} L_D(\boldsymbol{\theta}_n, \boldsymbol{w}_n)=\boldsymbol{0} 
 +\end{align} 
 +を満たすような最適解$(\boldsymbol{\theta}^\star, \boldsymbol{w}^\star)$を探します。上の等式は、 
 +\begin{align} 
 +\forall \boldsymbol{\theta} \in \mathbb{R}^\Theta, \forall \boldsymbol{w} \in \mathbb{R}^W: 
 +\langle \boldsymbol{\theta}_n - \boldsymbol{\theta},  
 +\nabla_{\boldsymbol{\theta}} L_G (\boldsymbol{\theta}_n, \boldsymbol{w}_n) \rangle \leq 0 
 +\text{, } 
 +\langle \boldsymbol{w}_n - \boldsymbol{w}, \nabla_{\boldsymbol{w}} L_D (\boldsymbol{\theta}_n, \boldsymbol{w}_n) \rangle \leq 0 
 +\end{align} 
 +と等価なので、この不等式を満たすような最適解$(\boldsymbol{\theta}^\star, \boldsymbol{w}^\star)$を探しましょう。 
 +上の不等式の左辺について、それぞれ次の不等式が成り立ちます。 
 +\begin{align} 
 +&\frac{1}{N} \sum_{n=1}^{N}  
 +\mathbb{E} \left[ 
 +\langle \boldsymbol{\theta}_n - \boldsymbol{\theta},  
 +\nabla_{\boldsymbol{\theta}} L_G (\boldsymbol{\theta}_n, \boldsymbol{w}_n) \rangle \right] 
 +\leq 
 +\underbrace{\frac{\Theta \mathrm{Dist}(\boldsymbol{\theta}) H^G}{2 \alpha^G \tilde{\beta_1^G}}}_{A_G} 
 +\frac{1}{N} 
 +
 +\underbrace{\frac{\sigma_G^2 \alpha^G}{2 \tilde{\beta_1^G} \tilde{\gamma}^{G^2} h_{0,*}^G}}_{B_G}  
 +\frac{1}{b} 
 +
 +\underbrace{\frac{M_G^2 \alpha^G}{2 \tilde{\beta_1^G} \tilde{\gamma}^{G^2} h_{0,*}^G} 
 +
 +\frac{\beta_1^G}{\tilde{\beta_1^G}} 
 +\sqrt{\Theta \mathrm{Dist}(\boldsymbol{\theta}) 
 +( \sigma_G^2 + M_G^2 )}}_{C_G}, \\ 
 + 
 +&\frac{1}{N} \sum_{n=1}^{N}  
 +\mathbb{E} \left[ 
 +\langle \boldsymbol{w}_n - \boldsymbol{w},  
 +\nabla_{\boldsymbol{w}} L_G (\boldsymbol{\theta}_n, \boldsymbol{w}_n) \rangle \right] 
 +\leq 
 +\underbrace{\frac{W \mathrm{Dist}(\boldsymbol{w}) H^D}{2 \alpha^D \tilde{\beta_1^D}}}_{A_D} 
 +\frac{1}{N} 
 +
 +\underbrace{\frac{\sigma_G^2 \alpha^D}{2 \tilde{\beta_1^D} \tilde{\gamma}^{D^2} h_{0,*}^D}}_{B_D}  
 +\frac{1}{b} 
 +
 +\underbrace{\frac{M_D^2 \alpha^D}{2 \tilde{\beta_1^D} \tilde{\gamma}^{D^2} h_{0,*}^D} 
 +
 +\frac{\beta_1^D}{\tilde{\beta_1^D}} 
 +\sqrt{W \mathrm{Dist}(\boldsymbol{w}) 
 +( \sigma_D^2 + M_D^2 )}}_{C_D} 
 +\end{align} 
 +ただし、$\alpha^G, \alpha^D$はoptimizerの学習率で、Nはステップ数、bはバッチサイズです。その他の定義については[[https://arxiv.org/pdf/2201.11989.pdf|論文]]を参照してください。このことから、ステップ数$N$とバッチサイズ$b$を大きく、学習率$\alpha^G, \alpha^D$は小さくすれば、それぞれの右辺は0に近くなり、局所的ナッシュ均衡を近似できることがわかります。 
 + 
 +==== ステップ数$N$とバッチサイズ$b$の関係 ==== 
 +局所的ナッシュ均衡を近似できる理想的なステップ数$N$、バッチサイズ$b$、学習率$\alpha^G, \alpha^D$などのパラメータを設定できたとします。このとき、$\epsilon_G, \epsilon_D > 0$を十分小さい正数だとすると、 
 +\begin{align} 
 +\frac{A_G}{N_G}+\frac{B_G}{b}+C_G=\epsilon_G^2, \text{ 
 +\frac{A_D}{N_D}+\frac{B_D}{b}+C_D=\epsilon_D^2 
 +\end{align} 
 +すなわち、 
 +\begin{align} 
 +N_G(b)=\frac{A_G b}{(\epsilon_G^2 -C_G)b -B_G}, \text{ 
 +N_D(b)=\frac{A_D b}{(\epsilon_D^2 -C_D)b -B_D} 
 +\end{align} 
 +が成り立ちます。ただし、生成器のステップ数を$N_G$、識別器のステップ数を$N_D$とし、それぞれをバッチサイズ$b$の関数だと捉えています。$N_G(b)$を微分して、その形状について考えてみましょう。 
 +\begin{align} 
 +\frac{\mathrm{d}N_G(b)}{\mathrm{d}b} 
 +
 +\frac{-A_G B_G}{{(\epsilon_G^2 - C_G)b - B_G}^2} 
 +\leq 
 +0, \text{ 
 +\frac{\mathrm{d}^2 N_G(b)}{\mathrm{d}b^2} 
 +
 +\frac{2A_G B_G(\epsilon_G^2 - C_G)}{{(\epsilon_G^2 - C_G)b - B_G}^3} 
 +\geq 
 +
 +\end{align} 
 +が成り立ちます。1階微分が$0$以下で、2階微分が$0$以上なので、$N_G(b)$は$b$に対して単調減少で、かつ凸関数であることがわかります。$N_D(b)$についても同様です。\\ 
 +このことから、学習が収束するまでに必要なステップ数$N$を最小にするバッチサイズ$b$が存在することが分かります。 
 +==== クリティカルバッチサイズの存在 ==== 
 +クリティカルバッチサイズとは、学習の計算量を最小にするバッチサイズのことです。 
 +ニューラルネットワークの訓練には、クリティカルバッチサイズが存在することが先行研究によって明らかになっています。 
 +そこで、GANの訓練にもクリティカルバッチサイズが存在するかどうかを考えてみましょう。 
 + 
 +学習の計算量の指標である確率的勾配計算コスト(SFO計算量:stochastic first-order oracle complexity)は、それぞれ$N_G(b)b,N_D(b)b$で定義できます。これは、$1$回の反復で$b$個の確率的勾配を計算するからです。 
 +\begin{align} 
 +N_G(b)b 
 +
 +\frac{A_G b^2}{(\epsilon_G^2 - C_G)b - B_G}, \text{ 
 +N_D(b)b 
 +
 +\frac{A_D b^2}{(\epsilon_D^2 - C_D)b - B_D} 
 +\end{align} 
 +先ほどと同様に微分して形状を調べてみましょう。 
 +\begin{align} 
 +\frac{\mathrm{d}N_G(b)b}{\mathrm{d}b} 
 +
 +\frac{A_G b\{(\epsilon_G^2-C_G)b -2B_G\}}{\{(\epsilon_G^2-C_G)b-B_G\}^2} 
 +, \text{ 
 +\frac{\mathrm{d}^2 N_G(b)b}{\mathrm{d}b^2} 
 +
 +\frac{2A_G B_G^2}{\{(\epsilon_G^2-C_G)b-B_G\}^3} 
 +\geq 
 +
 +\end{align} 
 +が成り立ちます。2階微分が常に$0$以上なので、$N_G(b)b$は$b$に対して凸関数であることが分かります。$N_D(b)b$についても同様です。 
 +また、1階微分から、$N_G(b)b, N_D(b)b$を最小にする$b_G$と$b_D$は、次のように書けます。 
 +\begin{align} 
 +b_G^\star := \frac{2B_G}{\epsilon_G^2-C_G}, 
 +\text{ 
 +b_D^\star := \frac{2B_D}{\epsilon_D^2-C_D} 
 +\end{align} 
 +この$b_G^\star$と$b_D^\star$がクリティカルバッチサイズです。 
 +==== クリティカルバッチサイズの推定 ==== 
 +ここまでで、GANの訓練にもクリティカルバッチサイズが存在することがわかりました。このクリティカルバッチサイズを、事前に知ることを目指します。\\ 
 +GANの目標は綺麗な生成画像を得ることです。学習の停止条件にも、生成画像の品質が利用されます。なので、ここでは生成器のクリティカルバッチサイズについて考えてみましょう。 
 +生成器$G$のクリティカルバッチサイズは、次のように表すことができました。 
 +\begin{align} 
 +b_G^\star := \frac{2B_G}{\epsilon_G^2 -C_G} 
 +\end{align} 
 +$B_G$や$C_G$の定義に立ち返って式変形をすると、$b_G^\star$の下界をoptimizerごとに次のように表すことができます。 
 +  * Adam 
 +\begin{align} 
 +b_G^\star \geq  
 +\frac{\sigma_G^2}{\epsilon_G^3}\frac{\alpha^G}{(1-\beta_1^G)^3 \sqrt{\frac{\Theta}{1-\beta_2^G} \frac{1}{|S|^2}}} 
 +\end{align} 
 +  * AdaBelief 
 +\begin{align} 
 +b_G^\star \geq  
 +\frac{\sigma_G^2}{\epsilon_G^3}\frac{\alpha^G}{(1-\beta_1^G)^3 \sqrt{\frac{4\Theta}{1-\beta_2^G} \frac{1}{|S|^2}}} 
 +\end{align} 
 +  * RMSProp 
 +\begin{align} 
 +b_G^\star \geq  
 +\frac{\sigma_G^2}{\epsilon_G^3}\frac{\alpha^G}{\sqrt{\frac{\Theta}{|S|^2}}} 
 +\end{align} 
 +このとき、$\sigma_G^2 / \epsilon_G^3$のみ未知です。$\alpha^G, \beta_1^G, \beta_2^G$はoptimizerのハイパーパラメータなので、ユーザーが自由に設定できます。GANの訓練では、$\alpha^G=0.0001, \beta_1^G=0.5, \beta_2^G=0.999$などとするのが一般的です。 
 +$\Theta$は生成器の次元でした。例えばDCGAN architectureならば、$\Theta=3,576,704$です。$|S|$はデータセットのデータの総数です。例えばLSUN Bedroomデータセットならば、$|S|=3,033,042$です。 
 + 
 +それでは、未知数である$\sigma_G^2 / \epsilon_G^3$について考えてみましょう。これは決して事前には分からないので、クリティカルバッチサイズの測定値と、先ほどの下界の推定式を利用して逆算します。いくつかの準備が必要なので、順番に見ていきましょう。\\ 
 +  1. $Nb-b$グラフ\\ 
 +DCGANを訓練して、LSUN Bedroomデータセットの実画像と瓜二つの生成画像を作ります。その学習のクリティカルバッチサイズの測定値を求めましょう。 
 +クリティカルバッチサイズは、SFO計算量である$Nb$を最小にする$b$だったので、その測定値を知るためには、$Nb-b$グラフ(縦軸が$Nb$で、横軸が$b$のグラフ)を用意する必要があります。ここで、$N$は学習が収束するまでに必要なステップ数です。$b$はバッチサイズで、機械学習では慣例的に$2$の累乗を利用することが一般的です。理論的には$Nb$は$b$に対して凸関数であるはずなので、例えば次のようなグラフが得られるはずです。 
 +{{ :intro:researches:nb-b.png?400 |}} 
 +\\ 
 +  2. FID\\ 
 +一般的に、GANの学習の停止条件にはFID(Fr\'echet Inception Distance)と呼ばれる指標が利用されます。FIDは2つの画像(※実際には2つの正規分布)の離れ具合を測る指標で、その値が低ければ低いほど2つの画像が似ていることを意味します。全く同じ画像同士のFIDは$0$となります。GANの学習が収束するとき、生成器は綺麗な生成画像を出力できるようになっているはずですから、その生成画像と実画像のFIDは十分に低いはずです。 
 +ここまでのことを踏まえて、『学習が収束するまでに必要なステップ数$N$』を、『十分に低いFIDを達成するまでに必要なステップ数$N$』と読み替えます。 
 +LSUN Bedroomデータセットを使って、DCGANを訓練する場合、FIDの極限は41.8程度です。学習の不安定性を考慮して、今回の実験では、FID=70を十分に低いFIDだとして、FID=70を停止条件にします。\\ 
 + 
 +{{ :intro:researches:fid.png?800 |}} 
 +\\ 
 +  3. 学習率\\ 
 +学習率は学習の結果に大きく影響するので、事前に適切な学習率を探索することが極めて重要です。GANの学習は非常に不安定です。DCGANは標準的なGANなので、特に学習率などのハイパーパラメータにとても敏感に影響を受けます。GANには生成器と識別器があるので、ある一定のステップ数の学習で、最も低いFIDを達成することができる学習率の組み合わせ$(\alpha^D, \alpha^G)$を探します。DCGANの場合は、次のような結果になります。 
 + 
 +{{ :intro:researches:grid.png?1200 |}} 
 + 
 +バッチサイズは$64$で固定し、Adamは$60000$steps、AdaBeliefは$120000$steps、RMSPropは$180000$stepsの結果です。青色が濃いほど低いFIDを達成できたことを意味します。 
 +これによると、最も良い学習率の組み合わせは、optimizerごとに次のようになります。 
 + 
 +{{ :intro:researches:hyper.png?800 |}} 
 + 
 +なお、$\beta_1$と$\beta_2$は一般的な値を使用します。\\ 
 +\\ 
 +それでは、いよいよバッチサイズを変えて、『FID=70を達成するまでに必要なステップ数』を計測していきましょう。 
 +バッチサイズは大きければ大きいほどGPUをたくさん使用するので、計算機の都合上、今回の実験では、$b=[4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096]$の範囲で実験しました。 
 +$Nb-b$グラフを作ると、次のようになります。 
 + 
 +{{ :intro:researches:nbb01.png?600 |}} 
 + 
 +予想通り、全てのoptimizerで凸関数になっています。このグラフの最小値をとるような$b$が、それぞれのクリティカルバッチサイズです。これで、Adamのクリティカルバッチサイズの測定値は$2^5=32$であることが分かりました。これを使って、未知数$\sigma_G^2 / \epsilon_G^3$を逆算しましょう。Adamの推定式をもう一度掲載します。 
 +\begin{align} 
 +b_G^\star \geq  
 +\frac{\sigma_G^2}{\epsilon_G^3}\frac{\alpha^G}{(1-\beta_1^G)^3 \sqrt{\frac{\Theta}{1-\beta_2^G} \frac{1}{|S|^2}}} 
 +\end{align} 
 +これを未知数$\sigma_G^2 / \epsilon_G^3$について書き直して、既知のパラメータに使用した値を代入すると、 
 +\begin{align} 
 +\frac{\sigma_G^2}{\epsilon_G^3} \leq 788.7 
 +\end{align} 
 +とできます。これを使えば、AdaBeliefとRMSPropの推定値を計算できます。推定値は四角で、測定値は丸でマーキングしてあります。 
 +さらに、生成器のモデルにDCGAN architectureを採用している場合は、この比$\sigma_G^2 / \epsilon_G^3$を適用できるので、別のGANでDCGAN architectureを採用している場合にもこの推定式は有効です。実際、WGAN-GPでCelebAデータセットを訓練する場合にも、推定値と測定値は近くなります。 
 + 
 +{{ :intro:researches:estimated.png?600 |}} 
 + 
 +DCGANがSection4.1で、WGAN-GPがSection4.2に当たります。RMSProp以外では完全に推定に成功していることが分かります。RMSPropで推定が上手くいかない原因は、RMSPropのクリティカルバッチサイズの推定式に$\beta_1$と$\beta_2$が含まれていないことであると考えられます。 
 + 
 +Naoki Sato, Hideaki Iiduka: Existence and Estimation of Critical Batch Size for Training Generative Adversarial Networks with Two Time-Scale Update Rule, Proceedings of The 40th International Conference on Machine Learning, PMLR 202: ??–?? (2023) 
 + 
 +==== GAN を訓練するための共役勾配法 ==== 
 + 
 +Hiroki Naganuma, Hideaki Iiduka: Conjugate Gradient Method for Generative Adversarial Networks, Proceedings of The 26th International Conference on Artificial Intelligence and Statistics, PMLR 206: 4381–4408 (2023)
  
-詳細については、[[https://arxiv.org/pdf/2004.00897.pdf|こちら]]をご参照下さい。(説明終わり) 
-===== アンサンブル学習 ===== 
-[[https://en.wikipedia.org/wiki/Ensemble_learning|アンサンブル学習法]]とは、複数の学習器を訓練し、それらを組み合わせて将来を予測することができる最先端の学習法のことです。これまでに、ノイズに対する頑強なアンサンブル構築のための疎性 (sparsity) と安定したアンサンブル構築のための多様性 (diversity) とを考慮したアンサンブル法を提案しています。\\ 
-ここで考察される損失最小化問題は、以下のように定義されます。 
-\begin{align*} 
-\text{Minimize } f(x) := \sum_{t\in\mathcal{T}} f_t (x) \text{ subject to } x \in X = \mathbb{R}_+^d \cap \underbrace{\left\{ x \in \mathbb{R}^d \colon \|x\|_1 \leq t_1 \right\}}_{C_{\mathrm{s}}} \cap \underbrace{\left\{ x \in \mathbb{R}^d \colon f_{\mathrm{div}}(x) \geq t_2 \right\}}_{C_{\mathrm{d}}}. 
-\end{align*} 
-ただし、$\mathbb{R}_+^d = \{ (x_i)_{i=1}^d \in \mathbb{R}^d \colon x_i \geq 0 \text{ } (i=1,2,\ldots,d)\}$、$\|\cdot\|_1$ は $\ell_1$-ノルム((疎性学習では、$\ell_1$-ノルム $\|x\|_1 := \sum_{i=1}^d |x_i|$ を利用します。))、$f_{\mathrm{div}} \colon \mathbb{R}^d \to \mathbb{R}$ は多様性に関する評価関数、$t_1$ は疎性制御パラメータ、$t_2$ は多様性制御パラメータを表します。 
-この損失最小化問題を解くために、[[https://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E7%9A%84%E5%8B%BE%E9%85%8D%E9%99%8D%E4%B8%8B%E6%B3%95|確率的勾配降下法]]を適用すると、以下のようになります。 
-\begin{align*} 
-x_{n+1} = P_X (x_n - \alpha_n \mathsf{G}(x_n,t_n)) \quad (n \in \mathbb{N}). 
-\end{align*} 
-ただし、$\alpha_n >0$ は学習率、$\mathsf{G}(x,t_n) \in \partial f_{t_n}(x)$ は確率勾配、$P_X$ は制約集合 $X$ への距離射影(($P_X$ は $P_X (x) \in X$, $\|P_X(x) - x  \| = \inf_{y\in X}\| y-x \|$ $(x\in \mathbb{R}^d)$ として定義される非拡大写像です。また、$\mathrm{Fix}(P_X):= \{ x \in \mathbb{R}^d \colon P_X(x) = x\} =X$ を満たします。詳細については[[intro:researches:fixedpoint|不動点近似法]]をご参照下さい。))です。 
-===== アンサンブル学習アルゴリズム ===== 
-$X = \mathbb{R}_+^d \cap C_{\mathrm{s}} \cap C_{\mathrm{d}}$ という定義から、$P_X$ の計算は容易ではありません。 
-そのため、残念ながら[[https://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E7%9A%84%E5%8B%BE%E9%85%8D%E9%99%8D%E4%B8%8B%E6%B3%95|確率的勾配降下法]]はアンサンブル学習に関しては有用な手法とは言えません。ここで、[[intro:researches:fixedpoint|不動点近似法]]を利用します。具体的には、 
-$\mathbb{R}_+^d$ への距離射影を $P_+$、$C_{\mathrm{s}}$ 及び $C_{\mathrm{d}}$ に関する射影((凸関数 $g\colon \mathbb{R}^d \to \mathbb{R}$ に対して、劣勾配射影 $P$ は、以下のように与えられます。$P(x) = x - \frac{g(x)}{\|u\|^2} u$ $\text{ } (g(x) \leq 0)$, $P(x) = x$ $\text{ }(g(x) > 0)$. 
-ただし、$u \in \partial g(x)$ は $g$ の $x$ での任意の劣勾配とします。このとき、$P$ は準非拡大写像となり、$\mathrm{Fix}(P) = \{ x \in \mathbb{R}^d \colon g(x) \leq 0\}$ を満たします。例えば、$g (x) = \|x\|_1 - t_1$ と置くと、劣勾配射影 $P_{\mathrm{s}}$ が定義できます。))をそれぞれ $P_{\mathrm{s}}, P_{\mathrm{d}}$ としたとき、それらの平均写像 
-\begin{align*} 
-Q = w_1 P_+ + w_2 P_{\mathrm{s}} + w_3 P_{\mathrm{d}} 
-\end{align*} 
-が定義できます。$P_+, P_{\mathrm{s}}, P_{\mathrm{d}}$ は計算可能なので、写像 $Q$ も容易に計算可能です。更に、[[intro:researches:fixedpoint|不動点近似法]]の理論により、 
-$Q$ は準非拡大写像となり、 $\mathrm{Fix}(Q) = X$ を示すことができます。この事実により、$Q$ を取り入れたアルゴリズムで生成される点列は $Q$ の不動点、すなわち、$X$ の点を見つけることが期待できそうです。 
-  * [[:iiduka:|H. Iiduka]]: [[https://ieeexplore.ieee.org/document/8744480|Stochastic Fixed Point Optimization Algorithm for Classifier Ensemble]], IEEE Transactions on Cybernetics (accepted)  {{:iiduka:CYB-E-2018-12-2420.R1.pdf|PDF}} 
-この論文では、以下で定義される**確率的不動点最適化アルゴリズム**を提案しています。 
-\begin{align*} 
-x_{n+1} = Q(x_n) - \alpha_n \mathsf{G}(Q(x_n), t_n)\quad (n \in \mathbb{N}). 
-\end{align*} 
-**定数**学習率 $\alpha$ に対しては、ある定数 $K_i$ $(i=1,2)$ が存在して、以下が成り立ちます。 
-\begin{align*} 
-\liminf_{n\to + \infty} \mathbb{E} \left[\| x_n - Q(x_n)  \|^2 \right] \leq K_1 \alpha, \text{ }  
-\liminf_{n \to + \infty} \mathbb{E} \left[ f(x_n) - f^\star \right] \leq K_2 \sqrt{\alpha}. 
-\end{align*} 
-これらの不等式は、十分小さい定数学習率を有する確率的不動点最適化アルゴリズムは損失最小化問題の解を近似できることを示しています。 
-また、**減少**学習率及び**直線探索法**で計算された学習率を有する確率的不動点最適化アルゴリズムは損失最小化問題の解に収束することを数学的に証明しています。 
-詳細については、[[https://iiduka.net/_media/iiduka/cyb-e-2018-12-2420.r1.pdf|こちら]]をご参照下さい。(説明終わり) 
-  * [[:iiduka:|H. Iiduka]]: Stochastic Approximation Method Using Diagonal Positive-Definite Matrices for Convex Optimization with Fixed Point Constraints, submitted.  
  • intro/researches/machine.1593158518.txt.gz
  • 最終更新: 2020/06/26 17:01
  • by Hideaki IIDUKA