1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TensorflowとNumpyを、疑問を解決しながら使ってみる。

Last updated at Posted at 2019-05-02

目的

TensorflowとNumpyを、疑問を解決しながら使ってみる。

何年も前から、多くの方が、TensorflowとNumpyの使い方などを報告されています。それらを参考にして、自分が疑問に思った部分などを整理しつつ、後追いしてみます。

当面、利用目的は、CNNの実行とします。

まだ、書きはじめですが、多少、役立つと思う記載は以下。

     テンソルとは?:candy:
     しかし、テンソルとは?:candy:

テンソルとは?

Tensorflowの名前にも入っているtensor(テンソル)とは、なんだろうか?
ネット上で調べると、テンソル自体は、結構、難しいものであることがわかります。Tensorflowと関連づけて、テンソルの説明をされているものも多くありますが、簡単に説明しようとして頂いているが、テンソルの説明だけが、難しくなっていて、Tensorflowに対応づいていない気がします。

自分としては、以下のブログ説明されているように、「多次元配列」という理解でいいと思いました。(以下のブログは、説明に成功している気がしました。)

HELLO CYBERNETICS「TensorFlowを始める前に知っておくべきテンソルのこと(追記:より一般的な話題へ)」
https://www.hellocybernetics.tech/entry/2016/12/01/223834

しかし、テンソルとは?

最初にこの記事を書いてから1年ぐらいたつのですが、、、、
突然、テンソルがどういうものかわかった気がします。
(というか、説明しようとしているサイトで、何を伝えようとしているのかが、わかった気がする。)
説明できるほどには、わかっていませんが、ある分野で、それなりに複雑でキーとなっている技術で、
その領域では、「多次元配列」というような数字の並びではなくて、もっと、意味のあるものだと思う。
しかし、深層学習とかの領域では、高々、「多次元配列」の理解で問題ないと思う。

突然、Tensorの雰囲気がつかめたサイト

引用元:
https://medium.com/@quantumsteinke/whats-the-difference-between-a-matrix-and-a-tensor-4505fbdc576c

A tensor is often thought of as a generalized matrix. That is, it could be a 1-D matrix (a vector is actually such a tensor), a 3-D matrix (something like a cube of numbers), even a 0-D matrix (a single number), or a higher dimensional structure that is harder to visualize. The dimension of the tensor is called its rank.
But this description misses the most important property of a tensor!
A tensor is a mathematical entity that lives in a structure and interacts with other mathematical entities. If one transforms the other entities in the structure in a regular way, then the tensor must obey a related transformation rule.

Tensorの雰囲気がつかめると、Wikiの説明も何となく理解できる

引用元:
https://ja.wikipedia.org/wiki/テンソル

テンソル(英: tensor, 独: Tensor)とは、線形的な量または線形的な幾何概念を一般化したもので、基底を選べば、多次元の配列として表現できるようなものである。しかし、テンソル自身は、特定の座標系によらないで定まる対象である。個々のテンソルについて、対応する量を記述するのに必要な配列の添字の組の数は、そのテンソルの階数とよばれる。
例えば、質量や温度などのスカラー量は階数0のテンソルだと理解される。同様にして力や運動量などのベクトル的な量は階数1のテンソルであり、力や加速度ベクトルの間の異方的な関係などをあらわす線型変換は階数2のテンソルで表される。
物理学や工学においてしばしば「テンソル」と呼ばれているものは、実際には位置や時刻を引数としテンソル量を返す関数である「テンソル場」であることに注意しなければならない。いずれにせよテンソル場の理解のためにはテンソルそのものの概念の理解が不可欠である。

さらに、以下の詳細記事とかもなんとなく、理解できるようになる。

以下、詳しいです。

「テンソル」とは何か
http://m-ac.jp/me/subjects/linear_algebra/tensor/index_j.phtml

「2.3 「共変・反変」とは何か」の項とか、
あんまりわかりませんが、なんかを、積み上げようとしている雰囲気は、伝わります。

まとめ

テンソルではまったので、まず、ひとこと、記載しました。

今後

また、何か関連する検討ができれば。
コメントなどあれば、お願いします。:candy:

関連(本人)

良書「ゼロから作るDeep Learning -- Pythonで学ぶディープラーニングの理論と実装」を読む

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?