テクノロジー

TensorFlow入門前に読みたい『テンソル』が学べるおすすめ書籍まとめ

TensorFlow入門前に読みたい『テンソル』が学べるおすすめ書籍まとめ

最近では、機械学習を行う際にPythonのライブラリを使うことが多くなりましたよね。中でもGoogle社が開発したTensorFlowは、ディープラーニングには欠かせないライブラリとなっていますが、この名称に含まれている「Tensor(テンソル)」とはどのような意味なのでしょうか。

ちなみにテンソルは変数を入れることができる2次元以上の多次元配列を意味する言葉です。もともと数学で生まれたものですが、物理学や工学などでも利用されています。代表的なものでは、アインシュタインの一般相対性理論でも用いられているとのこと。

この記事ではテンソルが機械学習や数学的な視点から、どのような意味を持っているのか説明します。ぜひ、TensorFlowというライブラリに触れる前に、その元となったテンソルについて以下の内容から理解しましょう。

そこで今回は、本来のテンソルについて学べる書籍について解説します。

TensorFlowのテンソルってどういう意味?

TensorFlowのイメージ

それでは、TensorFlowのテンソルがどのような意味を持っているのかを説明しましょう。TensorFlowはGoogle社が2015年に開発した機械学習を行うためのライブラリのことです。現在ではGoogleのサービスで当たり前に利用され、みなさんも知らず知らずのうちに利用しているほど世の中に浸透しています。

この記事でのテンソルとは多次元配列、点のような1次元ではなく、縦横で表現される平面のような2次元以上の配列を意味する言葉です。なお、配列とは変数の連なったものを意味するもので、何らかの情報が入る箱の集まりを想像してみるとわかりやすいでしょう。

そして、この配列という箱はいくつかの種類があり、もっとも単純なものは値のみが入っているもので、その次に単純な配列が連なった1次元配列、縦と横で表される2次元配列、縦横斜めの3次元配列と以下の例のように表現されます。

□:数値のみの配列
□□□:1×3の1次元配列
□□□
□□□:3×3の2次元配列
□□□
縦横斜め3×3×3:3次元配列

図としては3次元以降は表現できませんが、数式としてはn次元まで表現できるため、テンソル=多次元配列(n次元)となるのです。このことがTensorFlowでどのような意味を持っているかといえば、2にあるようにTensorFlowでは複数の処理をテンソルで行っています。

つまり、配列に対してデータの読み込みや前処理、出力などといったことをテンソルでやっているのです。これがどのようなメリットをもたらすのかというと、多次元になればなるほど処理速度が増すため、大量のデータを処理するディープラーニングにうってつけでしょう。

上の場合では1次元配列では3つの処理が行えますが、3×3の2次元配列では9つの処理が行え、3×3×3の3次元配列では27の処理が可能です。結果として多次元になるほどデータ処理が効率的に行えるため、TensorFlowは上記で説明したように広く利用されるようになりました。

これを踏まえて、次はより数学的な意味のテンソルについて以下で説明しましょう。

数学のテンソルとは

数学のイメージ
数学のテンソルとは以下のような意味合いを持ちます。

  • ベクトルなどを扱う線形代数の概念
  • 次元を階数として表現する

まず、数学上でのテンソルとはベクトルなどを扱う線形代数の概念を意味するものです。ちなみにベクトルとは大きさと向きを持ったものをそう呼び、方向を持たない大きさのみのものはスカラーと呼びます。

わかりやすい例では1や50といった数値はスカラーであり、平面上の座標(1,3)などは(1,0)、(0,1)などの基底を合成したベクトルです。この他に、線形代数ではテンソルにも関わってくる行列などの内容を扱っています。これらについてあまりよくわからない人は一度簡単な高校数学レベルや、大学の初等教育レベルの内容を学びましょう。

そして、数学のテンソルは次元を階数として表現する特徴があり、これまでの内容で説明すると以下のようになります。

  • 個別の数値(0次元配列)は「0階のテンソル」:スカラー
  • 1次元配列は「1階のテンソル」:ベクトル
  • 2次元配列は「2階のテンソル」:行列
  • 3次元配列は「3階のテンソル」:テンソル
  • N次元配列は「N階のテンソル」:テンソル

これらの内容に関してはPythonのようなプログラミング言語を扱う際にも関わってくる内容であるので、わからないことは学んでおくとよいでしょう。

なお、次の章ではテンソルを学ぶ前に読みたい書籍を紹介していくので、そこから必要な知識を学ぶのもおすすめです。

テンソルを学ぶ前に読みたいおすすめ書籍

学ぶ前のイメージ

それでは、テンソルを学ぶ前に読みたいおすすめの書籍を紹介しましょう。

  1. 東大の先生! 文系の私に超わかりやすく高校の数学を教えてください!
  2. 線形代数キャンパス・ゼミ 改訂8
  3. 機械学習を学ぶための基礎数学 Kindle版

まず、1の「東大の先生! 文系の私に超わかりやすく高校の数学を教えてください!」は題名にあるように、文系の人でも高校数学がわかりやすくなるように説明している書籍です。高校数学の内容をそもそも覚えていない人や、文系の人はテンソルを学ぶ前にこちらで復習するのがよいでしょう。

ちなみに内容は代数や解析、幾何という基本に加えて、ベクトルや微積分も解説しているので、最低限の内容を把握する場合はこちらの書籍がおすすめです。

次に、2の「線形代数キャンパス・ゼミ 改訂8」は大学生が線形代数を学ぶ際によく利用される参考書です。線形代数を扱うために必要な式や定理が載っているので、本格的にテンソルを学ぶ前にこの書籍の内容をしっかりと理解しておくと、効率的に学習が進むでしょう。なお、こちらのシリーズには他の分野、微積分や確立統計を扱ったものもあるので、必要に応じて参考にしてください。

最後に、3の「機械学習を学ぶための基礎数学 Kindle版」は機械学習に関する数学をまとめた電子書籍です。テンソルを理解していくために必要な大学以降の数学を教科書形式で一通り学べるので、高校数学の内容をしっかりと理解している人に向いています。また、こちらの書籍の内容はYouTubeで筆者自身が解説を行っているので、併せて閲覧していくとより理解しやすいでしょう。

テンソルは高校数学の内容はもちろん、大学で習う線形代数の基礎程度はしっかりと身につけておかないと理解が難しいです。そのため、今回紹介した書籍でしっかり学習しましょう。

テンソル初心者におすすめの書籍

初心者のイメージ

それでは、テンソル初心者におすすめの書籍を紹介します。

  1. テンソル解析 (基礎数学選書 23)
  2. ベクトル解析 -道具と考え ていねいに-
  3. 物理のためのベクトルとテンソル

まず、1の「テンソル解析 (基礎数学選書 23) 」は1981年に発売され、今日まで多くの人に愛用されている書籍です。テンソルについての派生的な知識ではなく、本格的な内容を学ぶ場合にはこの書籍は外せません。

内容としてはテンソルの定義や和などといった基本から、直交テンソル解析やテンソル解析の応用などを詳しく網羅しています。テンソルを学ぶ際には、まずこちらから目を通してみましょう。

次に、2に「ベクトル解析 -道具と考え ていねいに-」はベクトルとテンソルをそのまま学んでいくような内容になっています。ベクトルの積といった基本から円筒座標系のベクトル解析、球座標系のベクトル解析などを解説しているので両者をしっかりと学びたい人には定番といえる一冊です。

ただし、微積分に関する知識は事前に得ておく必要があるため、大学レベルの内容を学べる書籍を読んでからこちらにチャレンジすると効果的でしょう。ちなみに物理を学んでいる人や工学を学ぶ人にも向いている内容なので、それらに関する知識を有している人にはよりわかりやすいかもしれません。

最後に、3の「物理のためのベクトルとテンソル」は物理学の視点からベクトル解析とテンソル解析が学べる定番の書籍です。テンソルを理解するために必要な数学の内容をわかりやすくまとめ、物理学を使って説明する内容となっています。

ただし、理工系の学生向きの内容となっているので、ある程度数学や物理の知識を得てから閲覧するのがよいでしょう。テンソルは力学や相対性理論などでも利用されているので、物理的なテンソルについて興味があれば手に取ってください。

次の章ではテンソルを学ぶときに合わせて読みたいおすすめ書籍を紹介しましょう。これまでの書籍に加えて目を通すと、TensorFlowの入門時に役立つに違いありません。

テンソルを学ぶときに合わせて読みたいおすすめ書籍

一緒に学ぶイメージ

今回はTensorFlow入門前にテンソルを学ぶという趣旨ですが、今後を考えれば同時にTensorFlowの学習のためになる書籍も学ぶ必要があります。したがって、テンソルを学ぶときに合わせて読みたいおすすめの書籍を紹介します。

  1. やさしく学ぶ ディープラーニングがわかる数学のきほん ~アヤノ&ミオと学ぶ ディープラーニングの理論と数学、実装~
  2. 文系プログラマーだからこそ身につけたい ディープラーニングの動きを理解するための数式入門
  3. 新装改訂版 現代数理統計学

まず、1の「やさしく学ぶ ディープラーニングがわかる数学のきほん ~アヤノ&ミオと学ぶ ディープラーニングの理論と数学、実装~」は、TensorFlowを扱う際に必要となるディープラーニングに関する知識を学べる書籍です。こちらは登場人物の会話を通してニューラルネットワークやパーセプトロンの仕組みなどを学びます。

もちろん、数式や例題なども紹介されているので、わかりやすく実践的に学習を進めていけるでしょう。

次に、2の「文系プログラマーだからこそ身につけたい ディープラーニングの動きを理解するための数式入門」は、文系のプログラマーでもディープラーニングが学べるわかりやすい書籍です。

こちらはライブラリや数式の意味といった基本の内容から、ディープラーニングの学習方法などを丁寧に説明しているので、あまり線形代数などに精通していなくてもディープラーニングに関する学習ができます。TensorFlowの入門前に読んでおいて損はない内容ですので、テンソルの学習と同時に読みましょう。

最後に、3の「新装改訂版 現代数理統計学」は1991年に発売された確立統計の書籍を改定し、内容をより充実させた一冊です。具体的には演習問題を40問増やしたり、サポートサイトを用意して問題の解答や正誤表をみられるようにするなど、確立統計をより分かりやすく解説します。

大学レベルの内容を専門的に扱っている書籍なので難解な面もありますが、こちらが理解できればTensorFlowや機械学習を行う際に必要な確立統計の知識をしっかりと把握できます。多くの人に愛されている名著なので、今後TensorFlowを仕事に活用したい人には特におすすめです。

まとめ

さて、今回はTensorFlow入門前にテンソルを学べるおすすめ書籍について解説しました。今回お伝えしたい内容は以下のようになっています。

  • TensorFlowのテンソルとは多次元配列を意味し、TensorFlowではこちらで複数の処理を高速で行っている
  • 数学のテンソルとは線形代数の概念のことであり、階層というもので次元を表現する
  • テンソルを学ぶ前には「東大の先生! 文系の私に超わかりやすく高校の数学を教えてください!」「機械学習を学ぶための基礎数学 Kindle版」「線形代数キャンパス・ゼミ 改訂8」などで線形代数の知識を得ておくよい
  • テンソル初心者は「テンソル解析 (基礎数学選書 23) 」「ベクトル解析 -道具と考え ていねいに-」をまずは手に取り、物理学の視点からみていきたい場合は「ベクトル・テンソルと物理学の基礎」をみるのがおすすめ
  • TensorFlow入門のために「やさしく学ぶ ディープラーニングがわかる数学のきほん ~アヤノ&ミオと学ぶ ディープラーニングの理論と数学、実装~」「新装改訂版 現代数理統計学」「文系プログラマーだからこそ身につけたい ディープラーニングの動きを理解するための数式入門」などの書籍を参考にしよう

テンソルに関する知識はTensorFlowの入門にも役立ちますので、今回を機会にして学んでみるのよも良いでしょう。また、わからないところは、紹介した書籍などを参考にして効率的に学習を進めていくと、TensorFlowをスムーズに扱うことにつながります。

ぜひ、テンソルの学習で身につけた知識で、ディープラーニングや機械学習という将来性のあるスキルをマスターしましょう。

【お知らせ】

当メディア(AIZINE)を運営しているAI(人工知能)/DX(デジタルトランスフォーメーション)開発会社お多福ラボでは「福をふりまく」をミッションに、スピード、提案内容、価格、全てにおいて期待を上回り、徹底的な顧客志向で小規模から大規模ソリューションまで幅広く対応しています。

御社の悩みを強みに変える仕組みづくりのお手伝いを致しますので、ぜひご相談ください。

お多福ラボコーポレートサイトへのバナー

トップへ戻る
タイトルとURLをコピーしました