• 会員限定
  • 2021/07/19 掲載

「テンソル」「ベクトル」「行列」とは?ディープラーニングの情報整理のカラクリ

連載:図でわかる3分間AIキソ講座

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
記事をお気に入りリストに登録することができます。
コンピュータ関連の勉強をする際、数学的な説明が登場するとそれだけで理解する気が失せてしまうこともあるでしょう。特に高校生が苦手とするベクトルや行列などは名前すら聞きたくない人も多いかもしれません。しかし、ディープラーニングの中ではそれ以上に難解な「テンソル」と呼ばれる数字が扱われています。数学的に理解できるほどではなくとも、どんなものなのかというイメージくらいはつかめておくと、ディープラーニングの理解が深まります。今回は、小難しい話は抜きにして、簡単にディープラーニングが扱う数値について説明していきます。

執筆:フリーライター 三津村直貴

執筆:フリーライター 三津村直貴

合同会社Noteip代表。ライター。米国の大学でコンピューターサイエンスを専攻し、卒業後は国内の一部上場企業でIT関連製品の企画・マーケティングなどに従事。退職後はライターとして書籍や記事の執筆、WEBコンテンツの制作に関わっている。人工知能の他に科学・IT・軍事・医療関連のトピックを扱っており、研究機関・大学における研究支援活動も行っている。著書『近未来のコア・テクノロジー(翔泳社)』『図解これだけは知っておきたいAIビジネス入門(成美堂)』、執筆協力『マンガでわかる人工知能(池田書店)』など。

画像
ディープラーニングの理解が深まる、「テンソル」とは?(後ほど詳しく解説します)


「テンソル」とは?

 ディープラーニングでは、複雑なニューラルネットワーク上で膨大な数の数値が駆け巡っています。コンピュータはそれらの数値を個別に扱うこともできます。

 しかし、そのままではニューラルネットワーク内での計算を理論化できませんし、何よりもニューラルネットワークごとに扱う数値に関する何かしらの共通認識がなければ、ほかの人間がプログラムのコードを読んでも何が書いてあるのか分からず、技術の応用や発展につなげにくくなります。そこで使われるようになった数学的概念が「テンソル」でした。

 テンソルという概念は数学的に理解するには難解なものですが、私たちから見る分には「沢山の数値の集まり」として見えます。

 基本的には沢山の数値を集めて「1つの情報」として表現するのがテンソルで、例えるなら「ゲームキャラクターの特徴を無数のステータスで表す」ようなものです。表現したい情報は「キャラクター」という1つの存在だけなのですが、それを数値で表す際に「力」「素早さ」「体力」「知力」といったいくつもの数値化されたパラメータが使われるというわけです。

「テンソル」と「ベクトル」「行列」の関係

 テンソルがただの数値の集まりと違うのは「数値の種類(次元/軸の数)がいくつあるか」「1種類あたり何項目あるか」などの基本情報を付け加えるだけで、膨大な数値の集まりをきれいに整理できてしまう点にあります。

 そして、テンソルを使うと「ベクトル」や「行列」といった特殊な形の情報もまとめて扱うことができるようになります。

 たとえば、ベクトルは1列の数字だけなので「1種類(1次元)のテンソル」として表せますし、行列は行と列で2種類の要素があるので「2種類(2次元)のテンソル」ということになります。その上で、各種類あたりの項目数を付け加えて「1種類で4項目のテンソル」なら「4次元のベクトル」ということになりますし、「2種類で3項目と4項目のテンソル」なら「3行4列の行列」ということになります。

 端的に言えば「名前が変わっただけ」なのですが、ベクトルや行列の計算は高校で習ったように、さまざまな方法論が開発されています。そのため、もっと種類や項目数の多い多次元のテンソルに比べると計算が(比較的)簡単なのです。ベクトルや行列を計算するためのアルゴリズムを使って処理できるので、できればベクトルや行列のようなシンプルな形式にしたいというイメージです。

 ただ、複雑で大規模なニューラルネットワークでは、次元数が大きく計算の難しい多次元のテンソルが使われています。こうした規模の大きなテンソルの計算はコンピュータでも難しく、通常のCPUでは処理に時間がかかるため、並列計算に特化したGPUなどが使われています。

 近年はテンソル計算に特化したコンピュータやアルゴリズムが開発されており、コンピュータの「テンソルを扱う能力」は飛躍的に向上しています。

【次ページ】翻訳技術の仕組み、「言葉をベクトル化する」とは?
photo
情報をテンソルで表すという手法を分かりやすく実践しているのが「Word To Vector」という手法。これは「言葉をベクトル化する」というアプローチで、機械翻訳などで広く活用されています(後ほど詳しく解説します)

関連タグ

関連コンテンツ

あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます