◆ ~ 2017/03/30
TensorFlow : Deploy : Hadoop 上で TensorFlow をどのように実行するか
このドキュメントは Hadoop 上でどのように TensorFlow を実行するかを説明しています。
HDFS 上での実行について記述され、環境変数の設定等が詳述されます。 [詳細] (03/30/2017)
TensorFlow : Get Started : tf.contrib.learn クイックスタート
TensorFlow の高位ライブラリとしては Keras が有名ですが、TFLearn も良く利用されます。Keras は元々は Theano 上に構築されていたわけですが、TFLearn は TensorFlow のみをベースにしています。そして TFLearn は既に tf.contrib.learn として TensorFlow に統合された上で独自に進化を続けています。このドキュメントは tf.contrib.learn のクイックスタートです。 [詳細] (03/29/2017)
TensorFlow : Performance : XLA JIT コンピレーションを使用する
TensorFlow/XLA JIT コンパイラは XLA を通して TensorFlow グラフのパーツをコンパイルして実行します。標準の TensorFlow 実装を超えるこれのメリットは XLA が複数の演算を少数のコンパイル済みのカーネルに融合できることです(カーネル・フュージョン)。演算の融合は、TensorFlow executor が行なっているような、演算を一つずつ実行することに比べてメモリ帯域幅の要求を減少させてパフォーマンスを改善することができます。 [詳細] (03/22/2017)
TensorFlow : Performance : XLA 概要
TensorFlow 1.0 から実験的に XLA が導入されました。本ドキュメントは “XLA Overview” の翻訳になります。XLA (Accelerated Linear Algebra – 直訳すれば、加速された線形代数) は TensorFlow 計算を最適化する、線形代数のためのドメイン固有コンパイラ (domain-specific compiler) です。速度、メモリ使用量、そしてサーバとモバイル・プラットフォーム上のポータビリティという恩恵が受けられます。
XLA フレームワークは実験的で活発に開発中です。特に、既存の演算のセマンティクスが変更されることはないものの、重要なユースケースをカバーするために更に演算が追加されることは期待されます。欠落している機能についてのコミュニティからのフィードバックや GitHub を通したコミュニティの貢献をチームは歓迎します。 [詳細] (03/21/2017)
TensorFlow : Get Started : 専門家のための深層 MNIST
原文の加筆や変更に合わせて翻訳文も更新しました。
TensorFlow は大規模な数値計算を行なうためのパワフルなライブラリです。優れているタスクの一つは深層ニューラルネットワークを実装し訓練することです。このチュートリアルでは TensorFlow モデルの基本的なビルディング・ブロックを学ぶ一方で、深層畳み込み MNIST 分類器を構築します。 [詳細] (03/20/2017)
TensorFlow : Get Started : ML 初心者向けの MNIST
原文の加筆や変更に合わせて翻訳文も更新しました。
このチュートリアルは機械学習と TensorFlow の初心者である読者を想定しています。どのようにプログラムをするか学ぶ時、最初に行なうことは “Hello World.” をプリントするという慣例があります。プログラミングに “Hello World” があるように、機械学習には “MNIST” があります。このチュートリアルでは、画像を見てどの数字であるか予測できるようにモデルを訓練していきます。このチュートリアルの実際のコードは非常に短く、全ての興味深いことはわずか3行の内に発生します。しかし、背後のアイデアを理解することは非常に重要です: どのように TensorFlow が動作するか、そして中心的な機械学習の概念です。それ故に、注意深くコードに取り組んでいきます。 [詳細] (03/20/2017)
TensorFlow : Get Started : TensorFlow で始めましょう
TensorFlow の Get Started 文書が追加補充され、より分かりやすくなっています。tf.contrib.learn への言及もあります。
TensorFlow は複数の API を提供します。最も低いレベルの API — TensorFlow Core — は完全なプログラミング制御を貴方に提供します。 機械学習研究者とモデル上の優れた制御レベルを必要とする他の人たちのためには TensorFlow Core を推奨します。より高位の API は TensorFlow Core の上に構築されています。これらの高位 API は典型的には TensorFlow Core よりも学習して使用するのがより簡単です。更に、より高位の API は反復的なタスクをより簡単にして異なるユーザ間で一貫性を保持できます。tf.contrib.learn のような高位 API はデータセット、推定器 (estimator)、トレーニングそして推論を管理する手助けをします。高位 TensorFlow API の2、3 — これらのメソッド名は contrib を含むものです — は依然として開発中であることに注意してください。幾つかの contrib メソッドは後の TensorFlow リリースでは変更されるか廃止される可能性もあります。 [詳細] (03/19/2017)
Press Release : 03/06/2017
Amazon EC2 P2 インスタンス対応、TensorFlow 及び MXNet ベースの人工知能、
一般物体検出ソリューションを2017年4月から提供開始
株式会社クラスキャットは、深層学習フレームワーク TensorFlow 及び MXNet をベースとし、最新の人工知能・コンピュータビジョン技術と GPU (Graphics Processing Unit) を利用して高速化を図った、一般物体検出ソリューション新製品「ClassCat® ObjDetector v2.0」を2017年4月から提供開始することを発表致しました。
提供方法と致しましてはオンプレへのインストール・サービスに加えて、GPU 標準装備のクラウド上のサービスとしての提供も可能でマルチクラウドに対応しています。NVIDIA Tesla K80 GPU を標準装備する Amazon EC2 P2 インスタンスのサポートも新たに開始致します。 [Read More …]
TensorFlowOnSpark GetStarted EC2
– AWS EC2 GPU インスタンスで TensorFlowOnSpark –
TensorFlow On Spark を AWS EC2 上で試すのは非常に簡単です。
TensorFlow On Spark のための AMI イメージが用意されていますので、スクリプトを実行するだけで Hadoop / Spark クラスタが簡単に構築されます。各ノードは GPU インスタンスで CUDA もプレインストールされています。
クラスタが起動されれば、後はデータを変換して HDFS にストアすればトレーニングを実行することができ、モデルが作成されたら評価もできます。
Jupyter Notebook も用意されていますので対話的に実行することもできます。 [詳細] (02/17/2017)
TensorFlow 1.0.0 リリース
待望の TensorFlow 1.0.0 ステーブル版が利用可能になりましたのでいつものように Release Note を翻訳しておきました。XLA、TensorFlow デバッガー、Java サポートと興味深い機能が盛りだくさんです。Android のデモも充実しています。
API の変更がかなり入っているようですが、これは NumPy の慣習に合わせるためのようですので寧ろ歓迎すべきでしょう。 [詳細] (02/16/2017)
TensorFlowOnSpark
TensorFlow On Spark の github の readme を簡単に翻訳してみました。
– TensorFlow On Spark はスケーラブルな深層学習を Apache Hadoop と Apache Spark にもたらしました。深層学習フレームワーク TensorFlow とビッグデータ・フレームワーク Apache Spark / Apache Hadoop 由来の顕著な特徴を結合することにより、TensorFlow On Spark は GPU と CPU サーバ・クラスタ上の分散深層学習を可能にします。 [詳細] (02/14/2017)
TensorFlow Android アプリ
![]() TensorFlow では訓練したモデルを簡単に Android アプリとして組み込むことができます。 簡単なデモを幾つか作成してみました。 実機は Xperia Z5 / Android 5.1 (Lollipop) です。 【TensorFlow Android デモ(CIFAR-10 モデル)】 10 万ステップの訓練で精度は 86 % 程度まで高めてあります。 画像はクラスキャットのマスコットの “猫” を認識させてみたところです。選択肢が確率の高い順から3つ出ていますが、”猫” の確率が高く認識されています。ただし、蛙や鹿の確率も意外に高いですね。 | |||
【TensorFlow Android デモ(MNIST モデル)】 TensorFlow のチュートリアルでは MNIST が繰り返し使われています。 せっかくなので、訓練したモデルを Android に組み込んでみました。(画像左) 画像は手書き数字の “4” を認識させてみたところです。選択肢が確率の高い順から3つ出ていますが、この場合は “4” の確率が断トツに高く、正しく認識されているようですね。 【TensorFlow Android デモ(Inception モデル)】 画像はコーラのペットボトルを認識させてみたところで、ポップ・ボトル : 0.469、ビール・ボトル : 0.319 と確率付きでほぼ正しく認識されました。 |
|
TensorFlow GoogLeNet Deep Dream の解析
人工知能が見る悪夢、Deep Dream については Caffe 実装と TensorFlow 実装の Deep Dream をそれぞれ試してみました。
今回は TensorFlow 実装の Deep Dream を視覚的に解析してみます。やりたい事は単純で、各層の重みをベースにノイズを乗せた画像が変形される様子を観察します。モデルは、TensorFlow で提供されている GoogLeNet Inception v3 モデル使用しました。これは ImageNet でトレーニング済みのものです。
GoogLeNet グラフの Op 総数は 375 ありますが、Conv2D タイプの層に限定すれば 59 層です。 [詳細] (02/11/2017)
TensorFlow VGG-16 フィルタの可視化
先に VGG-16 の特徴マップの可視化を行ないましたので、今回は同じモデルのフィルタを可視化してみます。モデルは ImageNet 画像を利用して自前でトレーニングしています。
VGG のフィルタサイズは全て 3×3 ですのであまり面白みはないのですが、念のため確認しておきましょう。VGG モデルは University of Oxford の VGG チームが提出した、層の深さを追求したモデルの通称です。 [詳細] (02/09/2017)
TensorFlow VGG-16 の特徴マップの可視化
単純な ConvNet モデルで AlexNet モデルで MNIST / CIFAR-10 の特徴マップやフィルタを TensorFlow で実装して可視化した後、トレーニング済みの GoogLeNet Inception-v3 モデルを使用して特徴マップを可視化してみました。
今回は VGG-16 モデルを ImageNet 画像を使って自分でトレーニングした上で特徴マップを可視化してみました。VGG モデルは University of Oxford の VGG チームが提出した、層の深さを追求したモデルの通称です。
比較のために GoogLeNet Inception-v3 モデルの時と同じサンプルを使いました。
また、VGG-16 は積層がわかりやすいので、全部の層について特徴マップを示します。
特徴出力マップは適宜、明るさと輝度を調整してます。 [詳細] (02/07/2017)
TensorFlow GoogLeNet Inception-v3 の特徴マップの可視化
単純な ConvNet モデルや AlexNet モデルで MNIST / CIFAR-10 の特徴マップやフィルタを TensorFlow で実装して可視化しましたが、より本格的なモデルで試してみます。
今回は TensorFlow で提供されている、トレーニング済みの GoogLeNet Inception-v3 モデルを使用しました。層数が多いので全ての層の出力を確認するのは煩雑なので、入力直後の畳込み層と最後の畳込み層からの出力、そして次元が圧縮されてサイズが縮小された際の特徴マップを適当な畳込み層から選択して可視化してみました。 [詳細] (02/06/2017)
TensorFlow で CNN AutoEncoder – Oxford 17 Flowers –
先に MNIST と CIFAR-10 を題材に Convolutional AutoEncoder を TensorFlow で実装して視覚化してみましたが、より現実的な画像サイズである Oxford 17 Flowers にトライしてみます。というか、ここからが本番です。
Conv AutoEncoder に使用したモデルは手始めに CIFAR-10 と同じものを使いました。つまり Encoder として (畳込み層 + MaxPooling 層) x 3 の単純なもので、そして decode された画像を元画像と比較し、encode された画像、特徴マップを可視化します。
最初にテスト・サンプル画像をカテゴリー毎に1 枚選んで 17 枚をまとめて、decode した画像群をトレーニング epochs 毎にリスト表示します。 [詳細] (02/03/2017)
TensorFlow で CNN AutoEncoder – CIFAR-10 –
先に MNIST を題材に Convolutional AutoEncoder を実装して視覚化してみましたが、CIFAR-10 でも試しておきます。CIFAR-10 は機械学習定番のベンチマークとして使用され、RGB 32×32 ピクセル画像を 10 カテゴリーに渡って分類するものです :
飛行機、自動車、鳥、猫、鹿、犬、蛙、馬、船そしてトラック。
AutoEncoder に使用するモデルは Encoder として畳込み層を3層使用する単純なものです。そして decode された画像を元画像と比較し、encode された画像、特徴マップを可視化します。 [詳細] (02/02/2017)
TensorFlow で CNN AutoEncoder – MNIST –
AutoEncoder はモデルの事前トレーニングをはじめとして様々な局面で必要になりますが、基本的には Encoder となる積層とそれを逆順に積み重ねた Decoder を用意するだけですので TensorFlow で簡単に実装できます。
今回は MNIST を題材として最初に MLP ベースの AutoEncoder を復習した後に、畳込み AutoEncoder (Convolutional AutoEncoder) を実装し、encode された特徴マップを視覚化し、decode された画像を元画像と比較してみます。
MLP では十分な表現力が得られませんが、畳込み層を3層とする ConvNet の基本モデルをベースとする Convolutional Autoencoder ではほぼ完璧に decode 可能です。 [詳細] (02/01/2017)
TensorFlow AlexNet の特徴マップ/フィルタの可視化
既に単純な ConvNet (CNN) モデルの畳込み層のフィルタと特徴(出力)マップは MNIST と CIFAR-10 を題材として TensorFlow で可視化しました。
今回は AlexNet モデルでより実践的な題材: University of Oxford: 17 Category Flower Dataset を利用して特徴出力マップとフィルタを視覚化してみます。入力画像サイズは 227 x 227 と現実的なサイズになっています。
題材の 17 Category Flower Dataset は University of Oxford が提供している 17 種類の花のデータセットです。 [詳細] (01/30/2017)
TensorFlow で Deep Dream 入門
Deep Dream は人工知能が見る悪夢として有名ですが、実際には ConvNet (CNN) の特質を知るにはとても良い題材です。現在では様々な改良版が考案されていますが、オリジナルの Deep Dream は 2015 年 6 月に Google Reseach Blog で公表されています。
そして Caffe 実装が公開されていましたが、既に TensorFlow でも実装されています。本記事では、最初に Caffe 実装による Deep Dream を試した後、TensorFlow 実装の Deep Dream の生成画像と比較してみます。
モデルはお馴染み GoogLeNet Inception モデルを ImageNet でトレーニングされたものが使用されています。Caffe 実装と TensorFlow 実装の生成画像の違いは本質的には別個にトレーニングされているためです。 [詳細] (01/26/2017)
TensorFlow 畳込み層のフィルタ/特徴マップの可視化 – CIFAR-10 –
先に MNIST を題材として TensorFlow 実装の ConvNet (CNN) モデルの畳込み層のフィルタと特徴マップを可視化しましたが、ついで CIFAR-10 についても同様な視覚化をしてみます。
MNIST 用の単純モデルのままだと精度が上がらないので、CIFAR-10 用に少しだけ多層化してみました。(畳込み層 + 畳込み層 + プーリング層) x 2 です :
Conv1 -> Conv2 -> MaxPooling2 -> Conv1 -> Conv1 -> MaxPooling2
トレーニング時には Dropout 層も使用しています。また精度よりも可視化を重視するためにフィルタサイズは大きめにして、テスト精度は 80 % 前後まであげてあります。 [詳細] (01/24/2017)
TensorFlow 畳込み層のフィルタの可視化 – MNIST –
TensorFlow ベースの ConvNet (CNN) における畳込み層とプーリングの出力、あるいは特徴マップの可視化については「TensorFlow 畳込み層の特徴マップの可視化」で扱いました。
次に同じ ConvNet モデルで畳込み層のフィルタを TensorFlow で可視化してみました。モデルは単純なもので、畳込み層2つと(マックス)プーリング層から成り、テスト精度は 99 % 超まであげてあります。
畳込み層の1つ目と2つ目のフィルタを可視化していますが、サイズとフィルタ数は2通りで試しています。 [詳細] (01/21/2017)
TensorFlow 畳込み層のフィルタの可視化 – MNIST –
TensorFlow ベースの ConvNet (CNN) における畳込み層とプーリングの出力、あるいは特徴マップの可視化については「TensorFlow 畳込み層の特徴マップの可視化」で扱いました。
次に同じ ConvNet モデルで畳込み層のフィルタを TensorFlow で可視化してみました。モデルは単純なもので、畳込み層2つと(マックス)プーリング層から成り、テスト精度は 99 % 超まであげてあります。
畳込み層の1つ目と2つ目のフィルタを可視化していますが、サイズとフィルタ数は2通りで試しています。 [詳細] (01/21/2017)
TensorFlow で「一般物体検出」入門
TensorFlow の急速な普及もあり、画像全体からクラス分類を行なう「物体認識」については CNN で手軽に成果が出せるようになりましたが、複数種類の物体の位置を特定して各々をクラス分類する一般「物体検出」には多岐に渡る技術が必要となります。
クラスキャットは TensorFlow ベースの一般物体検出ソリューション「ClassCat® ObjDetector v1.0」の提供を発表致しましたが、プレスリリースでは技術的な詳細にはふれていませんので、一般物体検出入門として基礎知識と検出例を示しておきます。 [詳細] (01/11/2017)
プレスリリース : TensorFlow ベースの高速な一般物体検出ソリューションを提供開始
クラスキャットは、TensorFlow をベースとし、最新の人工知能・コンピュータビジョン技術と GPU を利用して高速化を図った、一般物体検出ソリューション新製品「ClassCat(R) ObjDetector v1.0」を2017年2月から提供開始することを発表致しました。一般物体検出は画像上の複数種類の物体の位置を特定してクラス分類することを可能にする、応用範囲が広い技術です。オプションとして、人工知能研究開発支援サービスの一環として、本ソリューションの導入を支援するコンサルティング・サービスも併せて提供致します。
[プレスリリース全文] (01/10/2017)
【主な掲載メディア】 キーマンズネット Biz / Zine (翔泳社) ITmedia ニュース
◆ ~ 2016/12/01
TensorFlow ResNet (Deep Residual Learning) で CIFAR-100
CIFAR-10 については TensorFlow のチュートリアル : 畳み込み ニューラルネットワーク で解説されていますが、
CIFAR-100 についてはまだ試していなかったので TensorFlow 実装で試しておくことにします。
モデルとしては Deep Residual Learning(いわゆる ResNet)を利用しました。
これは Microsoft Research Asia (MSRA) が提唱したモデルで ILSVRC 2015 の分類タスクで優勝したモデルです。ゲートがない LSTM であるとの批評もあるようですが、興味深いモデルです。 [詳細] (12/01/16)
TensorFlow と高速フーリエ変換で音楽ジャンル分類(基本編)
TensorFlow による音楽ジャンル分類を行なってみました。
題材は定番の GTZAN ジャンル・コレクションです。10 のジャンル(ブルース、クラシック、カントリー、ディスコ、ヒップホップ、ジャズ、メタル、ポップ、レゲエ、ロック)に分けられた wav ファイルを分類します。各ジャンルは約 30 秒間の wav ファイルを 100 個ずつ保持しています。
今回は基本編として生データと FFT(高速フーリエ変換)を利用してパワースペクトル密度を計算して特徴ベクトルとしています。 [詳細] (11/21/16)
TensorFlow と scikit-learn 重回帰分析の 3D ビジョン
TensorFlow によるニューラルネットワークと scikit-learn の各種回帰分析器による近似曲面を 3-D ビジョンで比較してみました。TensorFlow については基本的な MLP をベースにエポック数で比較、scikit-learn については代表的な回帰分析器 (Regresesor) 別に試しています。重回帰の題材はシンプルに sin(x) + cos(y) をサンプリングしています。 [詳細] (11/16/16)
TensorFlow 画像キャプション・モデル – コンピュータ・ビジョンと自然言語処理の融合 –
今年の9月に Google 社により、Microsoft COCO 2015 画像キャプショニング・チャレンジで優秀な成績をおさめた、画像キャプション・モデルが TensorFlow 実装のオープンソースとして公開されました。(キャプションは画像の簡単な説明文です。)
動作検証してみましたので簡単に結果をご報告します。
与えられた画像に対して、3つのキャプション候補が表示され、人間が見ても十分に理解可能な自然言語文が得られました。 [詳細] (11/10/16)
TensorFlow でネットワーク侵入検知
クラスキャットでは IDS/IPS (侵入検知/侵入防御)機能を装備したインターネットサーバ管理ツール「ClassCat(R) Cute Server Manager」を提供しており、ファイル改竄や Rookit を検知し、各種 brute force 攻撃や第三者中継など外部からの攻撃を防御することができます。
ネットワーク型の侵入検知についても既に Spark ベースのネットワーク型 IDS ソリューションを提供しておりますが、本記事では軍用ネットワークを想定したパケットログをベースにニューラルネットワークによる可能性を探ってみました。モデルはシンプルな MLP で TensorFlow のみで実装しています。 [詳細] (11/09/16)
TensorFlow RNN ( LSTM / GRU ) で NY ダウ株価予測
RNN (Recurrent Neural Network) は自然言語処理分野で最も成果をあげていますが、得意分野としては時系列解析もあげられます。
定番ですが Yahoo Finance が Web で提供している株価情報をベースに RNN で株価予測をしてみました。RNN ネットワークのアーキテクチャはシンプルなものとして深く積層せずに LSTM と GRU で個別に試しています。 [詳細] (11/04/16)
TensorFlow で GoogLeNet (Inception モデル) を実装
深層 CNN の TensorFlow による実装の締めくくりとして GoogLeNet の実装に挑戦してみました。GoogLeNet は言うまでもなく ILSVRC-2014 の分類問題で優勝したネットワークです。
トレーニング済みの最新モデルは既に Android に組み込み済み ですが、今回はスクラッチからの実装でゼロからのトレーニングの実行になります。結果、さすがに非常に高い検証精度を見せてくれました。 [詳細] (10/21/16)
TensorFlow で ConvNet VGG モデルを実装
深層 CNN については既に TensorFlow で AlexNet を実装しましたが、今回はその発展形とも言える VGG モデルを実装してみました。VGG モデルは University of Oxford の VGG チームが考案したもので 19 層あります。ILSVRC-2014 の分類問題では GoogLeNet についで2位の好成績を収めています。 [詳細] (10/18/16)
TensorFlow Word2Vec で源氏物語を解析
TensorFlow の Word2Vec 実装で日本語テキスト「源氏物語」を解析してみました。光源氏がどのような人物像として描かれているか一目瞭然で、無常・嫉妬・寵愛のような単語の性質も上手く表現されます。日本語テキストの場合でも Word2Vec が機能することが確認できました。[詳細] (10/05/16)
TensorFlow で制約ボルツマンマシン
深層学習の重要なパーツである制約ボルツマンマシン (RBM) を TensorFlow で実装してみました。制約ボルツマンマシンは Deep Belief Network のビルディングブロックであり、AutoEncoder のようにニューラルネットワークの教師なし学習・事前学習としても利用できます。[詳細] (09/28/16)
TensorFlow でインターネット・ムービー消費者感情分析
TensorFlow の RNN モデルでセンチメント分析を行なってみました。映画の review データベースを利用して評価分類を行ないます。定番モデル LSTM/GRU に加えて bidirectional-RNN も試してみました。[詳細] (09/19/16)
正弦波 (sine wave) の RNN (LSTM) による予測の TensorFlow による実装
定番ですが、正弦波(sin 波)の RNN による予測を TensorFlow で簡単に実装してみました。普通の回帰と異なるのは、履歴シークエンスから次の値を予測することです。LSTM 3層 + FC 層のモデルで試してみました。[詳細] (09/17/16)
TensorFlow でビデオゲーム攻略 (2) スペースインベーダ (Double Q-Learning の実装 の実装)
Async-DQN をパックマンの攻略で試していますが、今回は DeepMind の Double Q-Learning をベースにスペースインベーダの攻略をしてみました。
通常の Q 学習アルゴリズムはある条件下では行動価値を過大評価することが知られていますが、最近の DQN アルゴリズムが Atari の幾つかのゲームで本質的な過大評価の害を受けることも分かっています。Double Q-learning アルゴリズムは観測される過大評価を減じるだけでなく、幾つかのゲームでより良いパフォーマンスにつながるとのことです。 [詳細] (09/15/16)
TensorFlow による自動車のナンバープレート認識
TensorFlow による自動車のナンバープレートの認識を試してみました。目標は CNN モデルを使い、ナンバープレートが写りこんだ自動車の静止画像からナンバープレートの位置を特定してナンバーを認識することです。[詳細] (09/10/2016)
TensorFlow による RNN 言語モデルの実装
RNN の有名な Character-Level 言語モデルを実装してみました。歴史書のテキストで訓練して文章を生成する簡単なモデルです。RNN, LSTM そして GRU で試したところ、GRU モデルが比較的良い結果が得られました。[詳細] (09/08/16)
TensorFlow でビデオゲーム攻略 (1) パックマン (DQN : Deep Q-Network の実装)
DeepMind 社で有名になった、DQN (Deep Q-Network) の利用によるビデオゲームの攻略を TensorFlow で実装してみました。
DQN は(強化学習の)Q 学習に深層学習をミックスインしたものです。[詳細] (09/03/16)
TensorFlow による AlexNet の実装
TensorFlow の具体的な応用として、有名な深層 CNN モデルである AlexNet を実装してみました。題材は17種/5種の花の分類で、それぞれ 75%/80% 程度の精度が得られました。[ 詳細 ] (08/20/16)
|
![]() |
TensorFlow の特徴
TensorFlow は幾つもの優れた特徴を持っています。
深い柔軟性
TensorFlow は硬直したニューラルネットワーク・ライブラリではありません。貴方の計算がデータフローグラフとして表現できるのであれば TensorFlow が利用できるでしょう。グラフを構築し、計算を駆動する内部ループを書くことができます。ニューラルネットワークに共通なサブグラフを集める有用なツールを提供していますが、ユーザは TensorFlow 上に自身の高レベルなライブラリを書くこともできます。
真のポータビリティ
TensorFlow は CPU あるいは GPU で動作し、デスクトップ、サーバあるいはモバイル環境で動作します。TensorFlow はラップトップ上で機械学習のアイデアで試すことができますし、スケールアップの準備ができれば TensorFlow は GPU 上でコード変更なしにそのモデルをより速く学習させることもできます。TensorFlow は学習したモデルをあなたの製品の一部としてモバイルに配備することもできます。
研究と製品の連結
機械学習のアイデアを研究から製品に移行する際に大きな書き直しを必要とする日々は過去のものです。研究科学者は新しいアルゴリズムを TensorFlow で実験し、製品チームは TensorFlow を使用してモデルを学習させ実際のカスタマーにサービス提供することができます。TensorFlow の利用は工業的な研究者にアイデアをより早く製品にすることを可能にし、学術的な研究者に大きな科学的な再現性とともにコードを直接的に共有することを可能にします。
自動微分
勾配法ベースの機械学習アルゴリズムは TensorFlow の自動微分機能の恩恵を受けるでしょう。TensorFlow ユーザとして、貴方は予測モデルの計算アーキテクチャ定義しそれを目的関数と結合し、そしてデータを追加するだけです — TensorFlow はあなたのために導関数の計算を処理してくれます。モデルにおける他の値に関連するある値の導関数の計算はグラフの拡張だけですから、何が起きているのかを常に正確に見ることができます。
言語オプション
TensorFlow は計算グラフをビルドし実行するために利用しやすい Python インターフェイスと実用的な C++ インターフェイスを兼ね備えています。スタンドアロンな TensorFlow の Python あるいは C++ プログラムを書いてみましょう。あるいはインタラクティブな iPython notebook で色々と試してみましょう。notebook では論理的にグループ化されたノート、コード、視覚化を保持することができます。
パフォーマンスの最大化
動作環境の全ての能力を利用したいですか?スレッド、キューそして非同期計算の最上級のサポートにより、TensorFlow は利用可能なハードウェアを最大限活用することを可能にします。貴方の TensorFlow グラフを異なるデバイスに計算要素を自由に割り当て、TensorFlow にコピーを処理させます。
◆ お問合せ
本件に関するお問い合わせ先は下記までお願いいたします。
株式会社クラスキャット |
セールス・マーケティング本部 セールス・インフォメーション |
E-Mail:sales-info@classcat.com |
WebSite: http://www.classcat.com/ |
※ TensorFlow, the TensorFlow logo and any related marks are trademarks of Google Inc.
※ AWS は米国その他の諸国における Amazon.com, Inc. またはその関連会社の商標です。
※ その他、記載されている会社名・製品名は各社の登録商標または商標です。