最近ディープラーニング界隈でよくきくTensorFlowについて調べてみた。
公式サイトより
TensorFlow™ is an open source software library for high performance numerical computation. Its flexible architecture allows easy deployment of computation across a variety of platforms (CPUs, GPUs, TPUs), and from desktops to clusters of servers to mobile and edge devices. Originally developed by researchers and engineers from the Google Brain team within Google’s AI organization, it comes with strong support for machine learning and deep learning and the flexible numerical computation core is used across many other scientific domains.
TensorFlow™は、高性能数値計算用のオープンソースソフトウェアライブラリです。柔軟なアーキテクチャにより、さまざまなプラットフォーム(CPU、GPU、TPU)、デスクトップからサーバークラスタ、モバイルデバイス、エッジデバイスに至るまで、計算を簡単に展開できます。もともとGoogleのAI組織内のGoogle Brainチームの研究者やエンジニアによって開発されたもので、機械学習や深い学習を強力にサポートしており、柔軟な数値計算コアは他の多くの科学分野で使用されています。
Tensorflowの特徴
こちらのサイトに記載されている内容がわかりやすかったです。https://knowledge.sakura.ad.jp/12871
TensorFlowは人工知能や強化学習を行うシステムそのものを実装したものではなく、これらの実装に利用できる機能や汎用的なアルゴリズムを提供するライブラリとなっている。そのため、利用には代数学や強化学習、ニューラルネットワークなどの知識が必要となる。その代わり、利用するモデルを簡単に設計できたり、目的に合った学習アルゴリズムを選択できるなど、柔軟性は高い。さまざまな計算アルゴリズムが標準で提供されているため、単なる線形代数ライブラリとして利用することも可能で、強化学習以外の用途でも活用できる。さらにGPUサポートがデフォルトで組み込まれており、容易に演算をGPU上で実行できる。
つまり、機械学習のWikipediaにあるような様々な機械学習技法がライブラリとして提供されており、それらを用いて計算モデルを簡単に設計できるということらしい。
具体的にTensorflowを利用すれば何ができるということではないみたいなので、引き続き機械学習については学んでいく必要性があり、AIを開発するときの一つのツールとして使うものだと認識した。
目下、何かのテーマを基に機械学習を学んで行くのが良さそう。
次回以降は、自分の好みの女性の顔画像を何点か学習させて、インターネット・SNSなどから類似の女性の顔画像を拾い集めてくるというテーマの基、機械学習について学んで行こうと思う。