画像認識の全体像を因果関係図で整理し、AlexNetを起点に各モデルの進化をたどる。一般物体認識から物体検出・セグメンテーション・姿勢推定まで、各カテゴリの代表モデルと技術を解説。モデル同士の構造的なつながりや技術的背景を踏まえ、因果関係をもとに体系的に理解を深めていく。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
MATLAB,Python,Scilab,Julia比較 第5章 その76【複素フーリエ係数①】
複素フーリエ係数の話に突入。複素フーリエ係数に至る道を提示。複素指数関数の積を確認。
複素フーリエ級数を導出した。最終的にはシンブルな式に。実際に利用しようと思うと、複素フーリエ係数とセットなので、しばらく待ち。
実数フーリエ級数にsin,cosを福祉指数関数で表現する公式を代入。ここでも「虚数で割ることが負の虚数を掛けることが同一」って理屈を使う。変数の極性を入れ替えた上で、Σの極性を入れかえれば同じものとなる。フーリエ係数であることを前提とした場合、極性の特性を定められる。
前回のcos,sinを複素指数関数で表現する式をMATLABの逆行列で検算。なぜか異なるような結果になった。「虚数で割ることと負の虚数を掛けることが同一」である。これは、複素フーリエ級数を導出するときにも使用するから覚えておいた方が良い。
実数フーリエ級数を複素フーリエ級数にするためにオイラーの公式を利用する。 具体的にはcos関数、sin関数を複素指数関数で表現する。 オイラーの公式とそれの変形の式を元にcos関数、sin関数を複素指数関数で表現するため、連立方程式を解いた。
MATLAB,Python,Scilab,Julia比較 第5章 その75【複素フーリエ級数⑦】
複素フーリエ級数を導出した。 最終的にはシンブルな式に。 実際に利用しようと思うと、複素フーリエ係数とセットなので、しばらく待ち。
MATLAB,Python,Scilab,Julia比較 第5章 その74【複素フーリエ級数⑥】
前回のフーリエ級数を複素指数関数で表現した式を変形。 変数の極性を入れ替えた上で、Σの極性を入れかえれば同じものとなる。 フーリエ係数であることを前提とした場合、極性の特性を定められる。
MATLAB,Python,Scilab,Julia比較 第5章 その73【複素フーリエ級数⑤】
実数フーリエ級数にsin,cosを福祉指数関数で表現する公式を代入。 ここでも「虚数で割ることが負の虚数を掛けることが同一」って理屈を使う。 複素フーリエ級数導出までもう一歩。
MATLAB,Python,Scilab,Julia比較 第5章 その72【複素フーリエ級数④】
「虚数で割ることと負の虚数を掛けることが同一」である。 上記を証明。 これは、複素フーリエ級数を導出するときにも使用するから覚えておいた方が良い。
MATLAB,Python,Scilab,Julia比較 第5章 その71【複素フーリエ級数③】
前回のcos,sinを複素指数関数で表現する式をMATLABの逆行列で検算。 なぜか異なるような結果になった。 が、実は・・・。
MATLAB,Python,Scilab,Julia比較 第5章 その70【複素フーリエ級数②】
オイラーの公式とそれの変形の式を元にcos関数、sin関数を複素指数関数で表現するため、連立方程式を解いた。 連立方程式は行列を使うと一撃。
MATLAB,Python,Scilab,Julia比較 第5章 その69【複素フーリエ級数①】
実数フーリエ級数を複素フーリエ級数にするためにオイラーの公式を利用する。 具体的にはcos関数、sin関数を複素指数関数で表現する。 上記を実数フーリエ級数に代入すれば複素フーリエ級数になるというのが大雑把な流れ。
オイラーの公式の話に突入。 各種マクローリン展開を再掲。 指数関数のマクローリン展開に複素数を入れてみる。 複素指数関数のマクローリン展開を変形。 オイラーの公式の変形。
MATLAB,Python,Scilab,Julia比較 第5章 その68【オイラーの公式③】
複素指数関数のマクローリン展開を変形。 cos関数とsin関数のマクローリン展開の式が出てくる。 実数部をcos、虚数部をsinとするとオイラーの公式になる。 オイラーの公式の変形。 入力に負の符号をつけたもの。 今後いろいろ活躍してくれる公式になる。
MATLAB,Python,Scilab,Julia比較 第5章 その67【オイラーの公式②】
各種マクローリン展開を再掲。 指数関数、cos関数、sin関数。 指数関数のマクロー xをixにするだけ。
MATLAB,Python,Scilab,Julia比較 第5章 その66【オイラーの公式①】
オイラーの公式の話に突入。 オイラーの公式の証明に必要な情報はある程度揃ってる。 前回までにやった各種マクローリン展開が必要な情報。
sin関数のマクローリン展開の演算とプロットをJuliaで実施。 nが増えればsin関数に近似していく。
sin関数のマクローリン展開の演算とプロットをScilabで実施。 nが増えればsin関数に近似していく。
sin関数のマクローリン展開の演算とプロットをPythonで実施。 nが増えればsin関数に近似していく。
sin関数のマクローリン展開の演算とプロットをMATLABで実施。 nが増えればsin関数に近似していく。
MATLAB,Python,Scilab,Julia比較 第5章 その65【マクローリン展開⑪】
sin関数のマクローリン展開の演算とプロットをJuliaで実施。 nが増えればsin関数に近似していく。
MATLAB,Python,Scilab,Julia比較 第5章 その64【マクローリン展開⑩】
sin関数のマクローリン展開の演算とプロットをScilabで実施。 nが増えればsin関数に近似していく。
MATLAB,Python,Scilab,Julia比較 第5章 その63【マクローリン展開⑨】
sin関数のマクローリン展開の演算とプロットをPythonで実施。 nが増えればsin関数に近似していく。
MATLAB,Python,Scilab,Julia比較 第5章 その62【マクローリン展開⑧】
sin関数のマクローリン展開の演算とプロットをMATLABで実施。 nが増えればsin関数に近似していく。
sinのマクローリン級数をプログラムで記載してみる予定。 プログラムフローを提示。 基本はfor文でぶん回すだけ。
cos関数をマクローリン展開。 cos関数をマクローリン展開したプロットも出してみた。 sin関数をマクローリン展開。 sin関数をマクローリン展開したプロットも出してみた。
cos関数をマクローリン展開。 cos関数をマクローリン展開したプロットも出してみた。 sin関数をマクローリン展開。 sin関数をマクローリン展開したプロットも出してみた。
マクローリン展開について説明。 指数関数をマクローリン展開してみた。 さらにマクローリン展開したものをグラフ化。 nが増えれば近似度合いも上がる。
いままでやってきたのは実数フーリエ。 複素フーリエに至る道を記載。 テイラー級数について説明。 テイラー級数とマクローリン級数を比較。
MATLAB,Python,Scilab,Julia比較 第5章 その61【マクローリン展開⑦】
sinのマクローリン級数をプログラムで記載してみる予定。 プログラムフローを提示。 基本はfor文でぶん回すだけ。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
画像認識の全体像を因果関係図で整理し、AlexNetを起点に各モデルの進化をたどる。一般物体認識から物体検出・セグメンテーション・姿勢推定まで、各カテゴリの代表モデルと技術を解説。モデル同士の構造的なつながりや技術的背景を踏まえ、因果関係をもとに体系的に理解を深めていく。
G検定まとめ記事はこちらはじめに結構昔にG検定向けの動画で、「JDLAジェネラリスト検定(G検定)さっくり対策(究極カンペの作り方)カンペを見なくても問題が解ける自分の作り方。」というのを公開しているのだが、これに対しての問い合わせがちょく...
動画作成関連のバックナンバー用ページ。立ち絵を作ったり、動画作ったり、アイキャッチ画像作ったりなどを掲載していく。
究極カンペの作り方についての問い合わせが増えている。G検定の評判を確認し、ネガティブな意見を問題提起として捉える。勉強のステージを定義し、語彙力と因果関係の把握が重要であることを説明。
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
MATLAB,Python,Scilab,Julia比較するシリーズの第4章。第4章では分類問題で最終的にはニューラルネットワークや最適化アルゴリズムの話だった。第5章はフーリエ解析学から高速フーリエの話がメインとなる。
立ち絵の配置: PSDファイルをAviUtlに配置し、画面サイズやフレームレートを設定。のっぺらぼう化: 目と口を消して、アニメーション効果を追加。アニメーション効果: 目パチと口パクの設定を行い、リップシンクを調整。
フーリエ変換を定義。フーリエの積分公式の一部を抜き出す。逆フーリエ変換を定義。フーリエの積分公式にフーリエ変換を代入するだけ。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。区分求積法とリーマン積分について。フーリエの積分公式を導出した。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。さらにそこに加えて、AivisSpeechのアイコン画像を...
PSDToolKitプラグインの導入の仕方を説明。PSDファイルを探してGIMPで内容を確認。GIMPで瞬き用、口パク用のレイヤー編集。
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
区分求積法とリーマン積分について。離散と連続の分け目。フーリエの積分公式を導出した。演算したはずなのに変化しない。つまり変換、逆変換が成立することを示している。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。よって、一般的な表現に書き換える必要がある。
角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。ω=nπ/Lを使用して変換するだけ。これにより少し数式がシンプルになった。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。ほぼ独自に作成したが、Anneliの画像自体はAivisS...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
AviUtlのセットアップと拡張編集Pluginの導入を行った。mp4ファイルの入力と出力の方法を説明。アニメーションgifの対応方法を説明。
分数は割り算の別表現として理解しやすく、逆数を掛けることで計算が簡単になる。これにより、小数の掛け算や割り算の理解が深まる。一次関数の数式をグラフにすることや、グラフから数式を導くことは、データのトレンド分析や物理現象の理解に役立つ。微分は関数の変化率を求める手法であり、数値微分を使って近似的に求めることができる。これにより、物理学や経済学など多くの分野で応用可能。
RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。 AdaGradでは2次の勾配の累積だったものが、2次の勾配の指数移動平均に。 これにより、極小値近辺やプラトーになっても更新を続けられる。
AdaGradについて説明。 更新式をモーメンタムと比較。 更新幅は、最初は大きく、徐々に小さくなり、最終的には学習が進まなくなる欠点を抱えている。
もう一個試す予定の最適化アルゴリズムへ至る系譜を説明予定。 プログラム化して試すのはAdamだが、それに至るアルゴリズムを数式レベルで確認。 Adam以降の最適化アルゴリズムもあるが、基本はAdamベースでクリッピングが入ってる感じ。
最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。
最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズムを通常の勾配降下法からモーメンタムに変えた際の差分を確認。 モーメンタムの方が学習の収束が早い。 勾配降下法で500エポックのところ100エポック。 モーメンタムの場合、初期のパラメータ移動が大き目。 これにより、大域最適化を見つける可能性が高くなる。
最適化アルゴリズム モーメンタムを用いて分類の学習をJuliaで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をScilabで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をPythonで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
最適化アルゴリズム モーメンタムを用いて分類の学習をMATLABで実現。 問題無く動作。 学習の収束が通常の勾配降下法よりも比較的早い。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 モーメンタムの動作イメージについて確認。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
勾配降下法の更新式を確認。 勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしていく。 最初は復習を兼ねて勾配降下法についても確認する。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの動作イメージについて確認。 動作イメージの表現は難しい。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。