「NumPyのドット積のデコード:次元の魔術についての簡単な探求」

Decoding NumPy's dot product An exploration of dimension magic

NumPyのドット積についての混乱を一度解消する

「コードの魔術師がいっぱいのカオスで暗く陰鬱な多次元世界」というプロンプトで生成された画像

はじめに

NumPyで次元に関する取り扱いについて混乱することは私だけではないのでしょうか?今日、Gradioのドキュメンテーションページを読んでいたら、以下のコードスニペットがありました:

sepia_filter = np.array([    [0.393, 0.769, 0.189],     [0.349, 0.686, 0.168],    [0.272, 0.534, 0.131],])# input_imgの形状は (H, W, 3)# sepia_filterの形状は (3, 3)sepia_img = input_img.dot(sepia_filter.T)  # <- なぜこれが有効なのか??sepia_img /= sepia_img.max()

おいおいおい!なぜ画像(W, H, 3)とフィルター(3, 3)のドット積が有効なのですか?ChatGPTに説明してもらおうとしたら、間違った答え(これは動作しないと言っているなど)を出したり、私の質問を無視して他のことに答え始めたりしました。仕方がないので、頭を使うしかありませんでした(ドキュメンテーションを読むこともね)。

上記のコードに少し混乱している方は、読み続けてください。

ドット積:一般的な例

NumPyのドット積のドキュメンテーションから(若干の修正を加えて):

もし、a.shape = (I, J, C) かつ b.shape = (K, C, L) の場合、dot(a, b)[i, j, k, l] = sum(a[i, j, :] * b[k, :, l]) です。注意すべきは、「a」の最後の次元は「b」の最後から2番目の次元と等しいということです。

または、コードで表すと:

I, J, K, L, C = 10, 20, 30, 40, 50a = np.random.random((I, J, C))b = np.random.random((K, C, L))c = a.dot(b)i, j, k, l = 3, 2, 4, 5print(c[i, j, k, l])print(sum(a[i, j, :] * b[k, :, l]))

出力結果(同じ結果):

13.12501290128471313.125012901284713

NumPyのドット積の形状を理解する

事前にドット積の形状を決定するために、以下の手順に従ってください:

ステップ1:2つの配列「a」と「b」を考えます。それぞれの形状を確認します。

# 配列aとbの例の形状a_shape = (4, 3, 2)b_shape = (3, 2, 5)# 指定された形状でランダムな配列を作成a = np.random.random(a_shape)b =…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「機械学習 vs AI vs ディープラーニング vs ニューラルネットワーク:違いは何ですか?」

テクノロジーの急速な進化は、ビジネスが効率化のために洗練されたアルゴリズムにますます頼ることで、私たちの日常生活を形...

機械学習

もし芸術が私たちの人間性を表現する方法であるなら、人工知能はどこに適合するのでしょうか?

MITのポストドクターであるジヴ・エプスタイン氏(SM '19、PhD '23)は、芸術やその他のメディアを作成するために生成的AIを...

AIテクノロジー

アンソニー・グーネティレケ氏は、Amdocsのグループ社長であり、テクノロジー部門および戦略部門の責任者です- インタビューシリーズ

アンソニー・グーネティレーケは、Amdocsでグループ社長、テクノロジーと戦略担当です彼と企業戦略チームは、会社の戦略を策...

人工知能

「マーク・A・レムリー教授による生成AIと法律について」

データサイエンス内で新しい分野が現れ、研究内容が理解しにくい場合は、専門家やパイオニアと話すことが最善です最近、私た...

人工知能

「Kognitosの創設者兼CEO、ビニー・ギル- インタビューシリーズ」

ビニー・ギルは、複数の役職と企業を横断する多様で幅広い業務経験を持っていますビニーは現在、Kognitosの創設者兼CEOであり...

人工知能

「クリス・サレンス氏、CentralReachのCEO - インタビューシリーズ」

クリス・サレンズはCentralReachの最高経営責任者であり、同社を率いて、自閉症や関連する障害を持つ人々のために優れたクラ...