(パイソン で グラディエント こうか アニメーション を さくせい する)
「パイソンでグラデーション効果のアニメーションを作成する」
複雑な表面上の点の軌跡をプロットする方法
この記事では、ブログ記事でのポイントを説明するために、勾配降下法のアニメーションを作成した方法についてお話します。それを行うことで、Pythonのスキル向上とアニメーションプロットの作成という新たなスキルを獲得することができました。
私は、私がたどったプロセスのステップを詳しく説明します。
少しの背景
数日前、私は勾配降下法についてのブログ記事を公開しました。勾配降下法は、人工ニューラルネットワークのトレーニングに使用される最適化アルゴリズムとして知られています。
異なる初期化ポイントを選択することで、勾配降下法の最適化が異なる結果を生むことを示すアニメーション図を含めたかったのです。
その時、数年前に素晴らしいアニメーションを作成したAlec Radford氏がRedditのコメントで共有した、Adagrad、Adadelta、RMSpropなどの高度な勾配降下法アルゴリズムの違いを示すアニメーションを見つけました。
MatlabをPythonで置き換えるように努力していたので、私は自分自身で似たアニメーションをコーディングしてみることにしました。最初は「バニラ」の勾配降下法アルゴリズムを使用します。
さあ、ステップバイステップで進んでみましょう。
最適化に使用される表面のプロット
最初に、必要なライブラリをインポートし、表現したい数学関数を定義します。
私は鞍点表面を使用したかったので、次の方程式を定義しました:
また、表面をプロットするための点のグリッドも作成します。np.mgrid
がこれに最適です。複素数の81j
は、開始と停止値の間に作成する点の数を示しています(81点)。
import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as plt# 表面を計算する関数を作成するdef f(theta): x = theta[0] y = theta[1] return x**2 - y**2# 表面をプロットするための点のグリッドを作成するx, y = np.mgrid[-1:1:81j, -1:1:81j]
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- データサイエンティストのツールボックス:解析
- In Japanese ゼファー7Bベータ:必要なのは良い教師だけです (Zefā 7B bēta Hitsuyō na no wa yoi kyōshi dake desu)
- 数学的な問題解決におけるLLMの潜在能力を開発するための研究
- 「日本で2番目のAI技術を搭載した候補者が公職を求める」
- このAI論文は、ChatGPTを基にしたテキストデータの拡張アプローチであるAugGPTを提案しています
- 「PyMC-Marketingによる顧客のライフタイムバリュー予測」
- 「読んだものに関してのみ話すこと:LLM(Language Model)は事前学習データを超えて一般化できるのか?」