【TensorFlow】Deep Learning(深層学習)で何ができる?

Deep Learning(深層学習)って難しいですよね。

初めて取りかかったときは、知らない単語ばかりがでてきて、単語同士の関連がわからないので、どの単語から手をつければよいかも判断できないと思います。

よく出てくる単語を並べてみると、以下のようになります。

  • 機械学習、Deep Learning(深層学習)、ニューラルネットワーク
  • 教師あり学習、機械なし学習、強化学習
  • 分類、回帰、クラスタリング、次元削減
  • TensorFlow、Chainer、scikit-learn
  • Keras、TF-Slim
  • CNN、seq2seq、AutoEncoder、RNN、LSTM
  • MNIST、CIFAR-10

ここに書いた単語は、似たような文脈で出てくる単語ごとに分類して箇条書きにしました。

この記事では、上記のような単語の意味が理解できるように様々な記事を紹介していくことで、皆さんを分かった気にさせたいと思います。

それでは行ってみましょう!

TensorFlowとは

TensorFlowは、インストールするだけで機械学習で何かができる、というものではありません。

プログラミング言語からTensorFlowを利用すると、機械学習や深層学習を利用したプログラムを簡単に開発できるというライブラリです。

TensorFlowを利用して機械学習のモデルを構築して訓練し、最後に推測をするという流れになっています。

なお、TensorFlowの開発はGitHubで進められており、ソースコードも自由にダウンロードできます。

TensorFlowとは何か?については、以下の記事で説明していますので、よく分からない方は確認してみてくださいね。

TensorFlowとは?機械学習に必須のライブラリを分かりやすく紹介
更新日 : 2022年7月28日

Deep Learning(深層学習)とは

Deep Learning(深層学習)は、ニューラルネットワークを利用した機械学習アルゴリズムの一種です。

隠れ層が2層以上のニューラルネットワークを使った機械学習は、層が多い(=深層)ということで特別にDeep Learning(深層学習)と呼ばれています。

※隠れ層が1層のニューラルネットワークは、多層パーセプトロンと呼ばれています。

一方で、SVM(サポートベクターマシン)のようにニューラルネットワークを使わない一般的な機械学習アルゴリズムもあります。

機械学習Deep Learning(深層学習)の違いについては、以下の記事で説明されていますので、ぜひご覧ください。

これならわかる!機械学習とディープラーニングの違いとは?
更新日 : 2022年7月28日

機械学習で使われている技術や手法

機械学習のアルゴリズムは多々あり、数が多いゆえに様々な分類方法があります。

上で説明した、一般的な機械学習か、Deep Learning(深層学習)か、という見方もあります。

よりしっかりした分け方では、教師あり学習教師なし学習強化学習といったように学習方法で分類することもあります。

さらに、分類回帰クラスタリング次元削減といったアルゴリズムの目的で分類する方法もあります。

アルゴリズムを学習方法(目的)ごとに分類すると、以下の表のようになります。

たとえば、教師あり学習で分類を目的とする場合に使う、一般的な機械学習アルゴリズムにはSVM単純ベイズ分類器があり、Deep Learning(深層学習)アルゴリズムにはCNNRNNがあるというように読みます。

学習手法(目的)一般的な機械学習アルゴリズムDeep Learning(深層学習)アルゴリズム
教師あり学習(分類)SVM(サポートベクターマシン)、単純ベイズ分類器、多層パーセプトロンCNN、RNN
教師あり学習(回帰)確率的勾配降下法RNN
教師なし学習(クラスタリング)k平均法DeepCluster
教師なし学習(次元削減)主成分分析(PCA)AutoEncoder
強化学習Q学習Deep Q-Network

以下の記事では、「教師あり学習」や「教師なし学習」、「強化学習」についてまとめられていますので、あわせてご覧ください。

機械学習とは?できることや事例を初心者向けにわかりやすく解説
更新日 : 2022年7月28日

参考記事

最後に、侍エンジニアブログで機械学習やTensorFlowについて解説している記事をまとめて紹介します。

ぜひご覧いただき、理解を深めていただければと思います!

機械学習とDeep Learning(深層学習)

機械学習やDeep Learning(深層学習)について説明している記事です。

機械学習とは?できることや事例を初心者向けにわかりやすく解説
更新日 : 2022年7月28日

利用できるライブラリ

Pythonでは、機械学習やDeep Learning(深層学習)で利用できるライブラリが公開されているため、難解なアルゴリズムをざっくり理解するだけで使い始められます。

TensorFlowscikit-learnChainerが有名なライブラリです。

Pythonで利用できるライブラリについては、以下の記事で詳しく説明されていますので、ぜひご覧ください。

AI開発に必須のPython!おすすめライブラリと学習法も徹底解説!
更新日 : 2022年7月28日

TensorFlow

ここでは、特にTensorFlowを扱った記事を紹介しましょう。

TensorFlowを試してみよう

TensorFlowを試してみたいだけなら、Dockerを使うのが簡単でしょう。

【TensorFlow】Docker for Windowsで動かす機械学習!
更新日 : 2022年7月28日

GPU搭載のPCにWindows 10がインストールされているなら、以下の記事を参考にTensorFlowをインストールすることをオススメします。

【2019年度版】TensorFlow 1.5のインストール方法を解説!【Windows 10】
更新日 : 2022年7月28日

TensorFlowで作成した学習済みモデルをAndroidスマホで活用する場合は、TensorFlow Liteを使います。

【TensorFlow】スマホで動かせるLiteとは?
更新日 : 2022年7月28日

AndroidスマホでTensorFlowを利用したアプリを動かしてみたいなら以下の記事をご覧ください。

【TensorFlow】Androidのカメラを使ってどこでも物体認識!
更新日 : 2022年7月28日

Raspberry PiにTensorFlowをインストールする方法を説明しています。

【TensorFlow】Raspberry Piへのインストール方法3選
更新日 : 2022年7月28日

TensorFlowで作成した学習済みモデルをサーバーで動かすならTensorFlow Servingを使うと良いでしょう。

【TensorFlow】学習済みモデルをサーバーで動かすServingとは
更新日 : 2022年7月28日

TensorFlowはPythonでも使えますし、C++からも使えます。

TensorFlow+αでさらに便利に!

OpenCLを利用すると計算が速くなるかもしれません。

KerasやTF-Slimを使うとモデルを簡潔に記述できます。

【TensorFlow】統合されたKerasを使ってみよう!
更新日 : 2022年7月28日
【TensorFlow】ネットワークを簡潔に書けるTF-Slimとは
更新日 : 2022年7月28日

実際に学習してみよう

公式チュートリアルの記事を試しに動かしてみる記事や、公式チュートリアルになくても有名なアルゴリズムの情報をまとめた記事もあります。

【TensorFlow】MNISTデータを学習するプログラムを3種紹介!
更新日 : 2022年7月28日
【TensorFlow】CNNでCIFAR-10の画像分類に挑戦しよう
更新日 : 2022年7月28日
【TensorFlow】ニューラル機械翻訳の公式チュートリアルを動かそう
更新日 : 2022年7月28日
【TensorFlow】RNNの公式チュートリアルに挑戦!
更新日 : 2022年7月28日
【TensorFlow】LSTMを勉強するおすすめコンテンツまとめ6選
更新日 : 2022年7月28日
【TensorFlow】公式チュートリアル記事まとめ
更新日 : 2022年7月28日

TensorFlow周辺の知識を増やしておこう

TensorFlowの関連技術はたくさんありますので、TensorFlow周辺の知識も増やしておくと良いでしょう。

【TensorFlow】GitHubからアクセスできるものは何?
更新日 : 2022年7月28日
【TensorFlow】Playgroundで渦巻きを学習してみよう
更新日 : 2022年7月28日

まとめ

今回は、機械学習Deep Learning(深層学習)の違いや、様々なアルゴリズムが存在することを紹介しました。

また、TensorFlowを使うとどのようなことができるのか、ということを理解できるように、様々な記事を紹介しました。

ここで紹介した計算方法(アルゴリズム)を駆使すると、機械があたかも学習して答えを出しているように見せられる、というのが機械学習やDeep Learning(深層学習)の凄いところです。

ここで紹介した記事をひととおり試したら、次は自分が学習させたい内容にあわせて、既存のアルゴリズムから選択しましょう。

また、現在もよりよい学習結果を得られるように新しいアルゴリズムが研究されていますので、必要に応じて新しいアルゴリズムを探して、TensorFlowで実装することに挑戦してみるのもやりがいがありそうですね!

がんばってください!

[programing_basis]

\業界最安級/
月額1,980円のプログラミングスクール

✔ 業界最安値の月定額1,980円
✔ 「Q&A掲示板」で平均30分以内に回答がもらえる
✔ 月に一度の「オンライン相談」で悩みを解決
✔ 教材の数は40種類以上
✔ 入会金不要+いつでも退会OK

詳しくはこちら

Writer

侍テック編集部

株式会社SAMURAI

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。侍テック編集部では技術系コンテンツを中心に有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close