ソフトウェア設計における因果関係の明確化。条件分岐や状態遷移の数理的な記述。並列処理やバッチ処理の自然な導入。AIモデルとの構造的な共通性の理解。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
MATLAB,Python,Scilab,Julia比較 第3章 その90【射影変換④】
基本ベクトルと基底ベクトルについて説明。 元画像平面を3次元空間で表現した場合の ここで基本ベクトル、基底ベクトルの話が出てくる。
MATLAB,Python,Scilab,Julia比較 第3章 その89【射影変換③】
射影変換の理屈を把握するための流れを記載。 大まかな理屈について説明。 大まかな理屈を座標変換で表現したパターンで説明。
射影変換はアフィン変換の拡張と言われいるが、理屈としては異なるもの。 射影変換で出来ることを確認。 射影変換は四隅の点をどこに移動させるか 長方形から台形、台形から長方形、台形から台形。
MATLAB,Python,Scilab,Julia比較 第3章 その88【射影変換②】
射影変換で出来ることを確認。 現実世界での利用方法を紹介。 射影変換は四隅の点をどこに移動させるかという変換。 長方形から台形、台形から長方形、台形から台形。
MATLAB,Python,Scilab,Julia比較 第3章 その87【射影変換①】
今回から射影変換に突入。 射影変換はアフィン変換の拡張と言われいるが、理屈としては異なるもの。 結果的な数式が似ており、アフィン行列で射影変換を行うとアフィン変換が実現できてしまうのが理由と思われる。 Wikipediaの意味不明な説明を参照。
【入門】アフィン逆変換時の行列合成(Julia)【数値計算】
Juliaでアフィン行列の合成を実施。 問題無く動作した。 毎度のことながらmeshgridは自作関数。 毎度のことながら2回目以降の実行処理速度は最速。 同じようなことを繰り返しで実行、試行錯誤する場合は便利。
【入門】アフィン逆変換時の行列合成(Scilab)【数値計算】
Scilabでアフィン行列の合成を実施。 問題無く動作した。 Scilabの変数名、関数名の文字数は最大で24文字。
【入門】アフィン逆変換時の行列合成(Python)【数値計算】
Python(NumPy)でアフィン行列の合成を実施。 問題無く動作。 三角関数ははNumPyが持ってい 他のライブラリも三角関数を持っていることが多い。 精度の違い等があるかもしれないが調べてない。
【入門】アフィン逆変換時の行列合成(MATLAB)【数値計算】
MATLABでアフィン行列の合成を確認。 問題無く動作。 回転行列内の三角関数に渡す角度は度数法ではなく弧度法。 180で割ってπを掛ける。 変換しない際は単位行列になるようにしておけば、掛けても影響はない。
MATLAB,Python,Scilab,Julia比較 第3章 その86【アフィン行列の合成⑩】
Juliaでアフィン行列の合成を実施。 問題無く動作した。 毎度のことながらmeshgridは自作関数。 毎度のことながら2回目以降の実行処理速度は最速。 同じようなことを繰り返しで実行、試行錯誤する場合は便利。
MATLAB,Python,Scilab,Julia比較 第3章 その85【アフィン行列の合成⑨】
Scilabでアフィン行列の合成を実施。 問題無く動作した。 Scilabの変数名、関数名の文字数は最大で24文字。
MATLAB,Python,Scilab,Julia比較 第3章 その84【アフィン行列の合成⑧】
Python(NumPy)でアフィン行列の合成を実施。 問題無く動作。 三角関数ははNumPyが持っているものを使用。 他のライブラリも三角関数を持っていることが多い。 精度の違い等があるかもしれないが調べてない。
MATLAB,Python,Scilab,Julia比較 第3章 その83【アフィン行列の合成⑦】
MATLABでアフィン行列の合成を確認。 問題無く動作。 回転行列内の三角関数に渡す角度は度数法ではなく弧度法。 180で割ってπを掛ける。 変換しない際は単位行列になるようにしておけば、掛けても影響はない。
アフィン逆行列のアルゴリズムを使用している都合、逆行列の結合法則にも気を付ける必要がある。 「行列の積の逆行列」と「逆行列の積」の関係性を証明。 上記を利用して、アフィン逆変換の合成を各アフィン行列単体で管理できる形状に変形。
アフィン行列の合成できる。 行列の結合法則について説明。 行列の結合法則を証明。 上記により、アフィン行列の合成が証明される。
MATLAB,Python,Scilab,Julia比較 第3章 その82【アフィン行列の合成⑥】
いままで証明してきたものを再確認。 上記を利用して、アフィン逆変換の合成を各アフィン行列単体で管理できる形状に変形。
MATLAB,Python,Scilab,Julia比較 第3章 その81【アフィン行列の合成⑤】
「行列の積の逆行列」と「逆行列の積」の関係性を証明。 逆行列の定義を利用して証明。 最終的にはすべて単位行列になるので等しいという証明方法になる。
MATLAB,Python,Scilab,Julia比較 第3章 その80【アフィン行列の合成④】
アフィン逆行列のアルゴリズムを使用している都合、逆行列の結合法則にも気を付ける必要がある。 アフィン行列の結合を想定したアフィン逆変換の式を書き出し。 行列結合後に逆行列する分には問題なさそうだが、個別に行列を管理する場合はいろいろ確認&証明が必要そう。
MATLAB,Python,Scilab,Julia比較 第3章 その79【アフィン行列の合成③】
行列の結合法則を証明。 サイズの証明と任氏成分の証明に分かれる。 ともに証明ができ、行列の結合法則は成立する。
MATLAB,Python,Scilab,Julia比較 第3章 その78【アフィン行列の合成②】
行列の結合法則について説明。 結合法則の前にΣの性質についての説明。 総和の順序を入れ替えても等しいという性質。
MATLAB,Python,Scilab,Julia比較 第3章 その77【アフィン行列の合成①】
アフィン行列の合成できる。 試しに回転アフィンと移動アフィンの合成の雰囲気。 実施したい行列が後ろから並ぶ感じ。 行列の結合法則を利用して計算自体は前方から実施可能。
Juliaでアフィン変換の伸縮を実施。 問題無く動作。 meshgridが無いので該当関数を自作。
Scilabでアフィン変換の伸縮を実施。 問題無く動作。 環境によってはメモリ不足問題が起きる。 画像サイズを小さくするなどで対応が必要。
Python(NumPy)でアフィン変換の伸縮を実施。 問題無く動作。 配列の次元の辻褄あわせのためリストのアンパック仕様を利用している。 no.blockなどの行列結合でもOK。
MATLABでアフィン変換の伸縮を実施。 問題無く動作。 他のアフィン変換も動くはずだな、別途実験予定。
MATLAB,Python,Scilab,Julia比較 第3章 その76【アフィン変換⑳】
Juliaでアフィン変換の伸縮を実施。 問題無く動作。 meshgridが無いので該当関数を自作。
MATLAB,Python,Scilab,Julia比較 第3章 その75【アフィン変換⑲】
Scilabでアフィン変換の伸縮を実施。 問題無く動作。 環境によってはメモリ不足問題が起きる。 画像サイズを小さくするなどで対応が必要。
MATLAB,Python,Scilab,Julia比較 第3章 その74【アフィン変換⑱】
Python(NumPy)でアフィン変換の伸縮を実施。 問題無く動作。 配列の次元の辻褄あわせのためリストの no.blockなどの行列結合でもOK。
MATLAB,Python,Scilab,Julia比較 第3章 その73【アフィン変換⑰】
MATLABでアフィン変換の伸縮を実施。 問題無く動作。 他のアフィン変換も動くはずだが、別途実験予定。
アフィン変換のプログラムの流れを確認。 中心を0とした座標系。 アフィン変換を一括で行うための変形。 元の座標系の戻す。 元画像と変換元座標を元に変換先へコピー。
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
ソフトウェア設計における因果関係の明確化。条件分岐や状態遷移の数理的な記述。並列処理やバッチ処理の自然な導入。AIモデルとの構造的な共通性の理解。
exoファイルを使えば、立ち絵の設定をテンプレ化して何度でも使い回せる。キャラごと・表情ごとのexoパターンを作っておけば、配置も口パクも一瞬。拡張編集にドラッグ&ドロップするだけで、作業時間が爆速短縮。
G検定まとめ記事はこちらはじめに結構昔にG検定向けの動画で、「JDLAジェネラリスト検定(G検定)さっくり対策(究極カンペの作り方)カンペを見なくても問題が解ける自分の作り方。」というのを公開しているのだが、これに対しての問い合わせがちょく...
動画作成関連のバックナンバー用ページ。立ち絵を作ったり、動画作ったり、アイキャッチ画像作ったりなどを掲載していく。
画像認識の全体像を因果関係図で整理し、AlexNetを起点に各モデルの進化をたどる。一般物体認識から物体検出・セグメンテーション・姿勢推定まで、各カテゴリの代表モデルと技術を解説。モデル同士の構造的なつながりや技術的背景を踏まえ、因果関係をもとに体系的に理解を深めていく。
究極カンペの作り方についての問い合わせが増えている。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...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
ニューラルネットワークの最適化アルゴリズムAdamをJuliaにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをScilabにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをPythonにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをMATLABにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
はじめに MATLAB,Python,Scilab,Julia比較するシリーズの第4章。 第3章では画像処理、座標変換の話がメインだった。 第4章は分類問題関連の話がメインとなる。基本的には以下の流れとなる。 形式ニューロン 決定境界線の安
分類問題を扱って第4章終了。 最も原始的なニューラルネットワークをやったことでディープラーニングの基礎部分は把握できたかもしれない。 次の章はこれから考える。
Adamだけで出てくる分類結果を確認。 四角形で分類する理想的な形状。 この分類結果になる場合は、誤差関数の値が一気に跳ね上がる時。 これにより大域最適解を引き当てやすくなる。
ニューラルネットワークの最適化アルゴリズムAdamをJuliaにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをScilabにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをPythonにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
ニューラルネットワークの最適化アルゴリズムAdamをMATLABにて確認。 学習率を0.001にしている都合、収束までは時間がかかる。 勾配降下法、モーメンタムでは見れなかった分類パターンが拾えた。
各最適化アルゴリズムの依存関係を記載。 1次の勾配で勢いをつけて、2次の勾配で抑制するというのが全体を通しての共通点。 Adamの更新式を実現するためのプログラムフローを記載。 学習率は0.001とかなり小さめの値に設定。 これにより収束は遅くなる。 かわりに特殊な最適解が得られるのでそれを確認する。
AdaDeltaについて説明。 RMSpropの拡張版に当たる。 最適化アルゴリズムAdamについて説明。 モーメンタムとRMSpropの合わせ技。 1次の勾配と、2次の勾配の指数移動平均を使用する。
もう一個試す予定の最適化アルゴリズムAdamへ至る系譜を説明予定。 AdaGradについて説明。 更新式をモーメンタムと比較。 RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。
Adamの更新式を実現するためのプログラムフローを記載。 モーメンタムの部分をAdamに差し替えただけ。 学習率は0.001とかなり小さめの値に設定。 これにより収束は遅くなる。 かわりに特殊な最適解が得られるのでそれを確認する。
各最適化アルゴリズムの依存関係を記載。 1次の勾配で勢いをつけて、2次の勾配で抑制するというのが全体を通しての共通点。 Adamが1次の勾配と2次の勾配を合わせたアルゴリズムとなる。
最適化アルゴリズムAdamについて説明。 モーメンタムとRMSpropの合わせ技。 1次の勾配と、2次の勾配の指数移動平均を使用する。
AdaDeltaについて説明。 RMSpropの拡張版に当たる。 学習率というハイパーパラメータ無しで動作する。 最終的な学習率は1近傍になるため振動しやすいらしい。
RMSpropについて説明。 AdaGradの完了版であるため、AdaGradと更新式を比較。 AdaGradでは2次の勾配の累積だったものが、2次の勾配の指数移動平均に。 これにより、極小値近辺やプラトーになっても更新を続けられる。
AdaGradについて説明。 更新式をモーメンタムと比較。 更新幅は、最初は大きく、徐々に小さくなり、最終的には学習が進まなくなる欠点を抱えている。