途中、式を分解してそれぞれの導関数を求めてから代入で導出できる。www.simulationroom999.com2024.02.27積の微分公式を導出。トリッキーなことをする。f(x)の極限と、g(x)の極限に分けられるような細工。トリッキーなことをする。f(x)の極限と、g(x)の極限に分けられるような細工。www.simulationroom999.com2024.02.28商の微分方式の話。逆数の微分公式と積の微分公式の合わせ技で導出。商の微分方式はシグモイド関数の導関数導出で生きてくる。逆数の微分公式と積の微分公式の合わせ技で導出。商の微分方式はシグモイド関数の導関数導出で生きてくる。www.simulationroom999.com2024.02.29いままでの公式達を再掲。商の微分公式を使ってシグモイド関数の導関数を求めた。本当に導関数になっているか、オイラー法で求めたシグモイド関数の微分のプロットと比較してみる。その31【連鎖律の前準備5】いままでの公式達を再掲。商の微分公式を使ってシグモイド関数の導関数を求めた。本当に導関数になっているか、オイラー法で求めたシグモイド関数の微分のプロットと比較してみる。www.simulationroom999.com2024.03.01シグモイド関数、シグモイド関数の導関数の再掲と、シグモイド関数のオイラー法による微分の数式を確認。上記を実現するプログラムを作成して、似た波形になればOKと見なす。シグモイド関数の導関数は有名なので間違っていることは無いはず。その32【連鎖律の前準備6】シグモイド関数、シグモイド関数の導関数の再掲と、シグモイド関数のオイラー法による微分の数式を確認。上記を実現するプログラムを作成して、似た波形になればOKと見なす。シグモイド関数の導関数は有名なので間違っていることは無いはず。www.simulationroom999.com2024.03.04MATLABシグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をMATLABで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。その33【連鎖律の前準備7】シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をMATLABで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。www.simulationroom999.com2024.03.07Pythonシグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をPythonで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。その34【連鎖律の前準備8】シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をPythonで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。www.simulationroom999.com2024.03.08Scilabシグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をScilabで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。その35【連鎖律の前準備9】シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をScilabで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。www.simulationroom999.com2024.03.09Juliaシグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をJuliaで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。その36【連鎖律の前準備10】シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をJuliaで算出。グラフで比較し、導出した導関数は正しいと言える結果となった。多変数関数の連鎖律に突入したが、これを理解するのに必要な知識があるため、それらを列挙。合成関数について説明。組み合わせが合成関数と言える。多変数関数の連鎖律に突入したが、これを理解するのに必要な知識があるため、それらを列挙。組み合わせが合成関数と言える。www.simulationroom999.com2024.03.15合計関数の微分(連鎖律)について説明。微分をするための公式はあるが、一応証明もしてみる予定。合計関数の微分(連鎖律)について説明。1入力1出力な合成関数。合計関数の微分をするための公式はあるが、一応証明もしてみる予定。www.simulationroom999.com2024.03.16合成関数の微分(連鎖律)の証明を実施。途中、いろいろトリッキーなことをする。結果としては、中間変数を微分、中間変数での微分の組み合わせで表現しなおせるというもの。合成関数の微分(連鎖律)の証明を実施。途中、いろいろトリッキーなことをする。結果としては、中間変数を微分、中間変数での微分の組み合わせで表現しなおせるというもの。www.simulationroom999.com2024.03.17多変数関数の連鎖律について説明。数が増えるだけで普通の連鎖律と変わらない。図示&数式があると分かり易い。多変数関数の連鎖律について説明。数が増えるだけで普通の連鎖律と変わらない。図示&数式があると分かり易い。www.simulationroom999.com2024.03.18ニューラルネットワークを想定した場合の多変量関数の連鎖律について説明。入力から見た際の関数の伝達ルートが複数になる。変化させたいのは入力ではなく重み。その41【多変量関数の連鎖律5】ニューラルネットワークを想定した場合の多変量関数の連鎖律について説明。入力から見た際の関数の伝達ルートが複数になる。変化させたいのは入力ではなく重み。www.simulationroom999.com2024.03.19ニューラルネットワークの学習を想定した場合、暗黙的に追加される関数として入力群がある。イメージ的に1層増える感じになる。これはバッチ学習、ミニバッチ学習時の起きる現象。言っても、微分すると重みが消えるので足し算に化ける。その42【多変量関数の連鎖律6】ニューラルネットワークの学習を想定した場合、暗黙的に追加される関数として入力群がある。イメージ的に1層増える感じになる。これはバッチ学習、ミニバッチ学習時の起きる現象。言っても、微分すると重みが消えるので足し算に化ける。連鎖律含めた一連の流れを誤差逆伝播法と言う。単純パーセプトロンの段階では逆伝播という言葉にしておく。勾配降下法のみの実験をやってみる。勾配降下法に概念レベルの説明。連鎖律含めた一連の流れを誤差逆伝播法と言う。単純パーセプトロンの段階では逆伝播という言葉にしておく。勾配降下法のみの実験をやってみる。www.simulationroom999.com2024.03.23勾配降下法をプログラム的に確認する方法としてニューラルネットワークではなく、任意の関数に試す方法がある。三角関数と二次関数を合成したもので試す。プログラムのフローを記載。勾配降下法をプログラム的に確認する方法としてニューラルネットワークではなく、任意の関数に試す方法がある。三角関数と二次関数を合成したもので試す。プログラムのフローを記載。www.simulationroom999.com2024.03.24勾配降下法プログラムのフローで分かりにくいところを説明。入力初期値は学習のスタート地点。ハイパーパラメータは学習アルゴリズムの設定値。グラフへのプロットは履歴付きで。プログラムの振る舞いをアニメーションgifで確認。勾配降下法プログラムのフローで分かりにくいところを説明。入力初期値は学習のスタート地点。ハイパーパラメータは学習アルゴリズムの設定値。グラフへのプロットは履歴付きで。プログラムの振る舞いをアニメーションgifで確認。www.simulationroom999.com2024.03.25MATLAB勾配降下法の実験をMATLABで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。勾配降下法の実験をMATLABで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。www.simulationroom999.com2024.03.27Python勾配降下法の実験をPythonで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。勾配降下法の実験をPythonで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。www.simulationroom999.com2024.03.28Scilab勾配降下法の実験をScilabで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。勾配降下法の実験をScilabで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。www.simulationroom999.com2024.03.29Julia勾配降下法の実験をJuliaで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。勾配降下法の実験をJuliaで実施。予想通り局所最適解に陥った。局所最適解の回避方法としては学習率を状況に応じて変更する様々は最適化アルゴリズムがある。モーメンタム、AdaGrad、Adamなどなど。単純パーセプトロンに関連する用語を確認。様々な都合で、単純パーセプトロンに対する誤差逆伝播法を「逆伝播」と呼称することに。逆伝播を行う単純パーセプトロンの構成を確認。誤差関数は二乗和誤差関数を1/2にしたもの。1/2により微分後の数式がシンプルになる。誤差逆伝播法とか単純パーセプトロンに関連する用語を確認。様々な都合で、単純パーセプトロンに対する誤差逆伝播法を「逆伝播」と呼称することに。逆伝播を行う単純パーセプトロンの構成を確認。誤差関数は二乗和誤差関数を1/2にしたもの。1/2により微分後の数式がシンプルになる。www.simulationroom999.com2024.04.04一連の合成関数について書き出し。一連の合成関数について書き出し。合成関数を構成する各数式を書き出し。www.simulationroom999.com2024.04.05合成関数の微分こと連鎖律について説明。学習データを加味した場合の多変量関数の連鎖律について簡単に説明。合成関数の微分こと連鎖律について説明。学習データを加味した場合の多変量関数の連鎖律について簡単に説明。www.simulationroom999.com2024.04.06連鎖律に於ける誤差関数の位置づけを確認。ブロック図的には一番後ろだが、連鎖律としては先頭。誤差関数の偏導関数の確認。連鎖律に於ける誤差関数の位置づけを確認。ブロック図的には一番後ろだが、連鎖律としては先頭。誤差関数の偏導関数の確認。www.simulationroom999.com2024.04.07活性化関数の微分について説明。活性関数のブロック図と連鎖律上の位置づけを確認。シグモイド関数の導関数を復習。シグモイド関数の偏導関数を確認。活性化関数の微分について説明。活性関数のブロック図と連鎖律上の位置づけを確認。シグモイド関数の導関数を復習。シグモイド関数の偏導関数を確認。www.simulationroom999.com2024.04.08入力層のブロック図と連鎖律上の位置づけを確認。入力層の偏導関数を確認。もとの式がシンプルなので偏導関数もシンプル。入力層のブロック図と連鎖律上の位置づけを確認。入力層の偏導関数を確認。もとの式がシンプルなので偏導関数もシンプル。www.simulationroom999.com2024.04.09バイアスのブロック図と連鎖律上の位置づけを確認。バイアスの偏導関数を確認。もとの式がシンプルな上、1次で係数もないので1になる。その56【逆伝播7】バイアスのブロック図と連鎖律上の位置づけを確認。バイアスの偏導関数を確認。もとの式がシンプルな上、1次で係数もないので1になる。www.simulationroom999.com2024.04.10全体の位置づけ確認。各偏導関数を連鎖律に則して結合。