ディープラーニングフレームワーク「TensorFlow」の基礎と実装のポイント 〜デモ付〜

〜 TensorFlowの基本的なコード記述、計算方式、運用環境構築、分散処理の際の注意点、TensorFlow Servingを用いた実行方法 〜

最も注目される機械学習ライブラリ「TensorFlow」を基礎から修得するための講座

汎用性と高いパフォーマンスをもつ「TensorFlow」を効果的に使うポイントを学び、ディープラーニングや機械学習システムの効率的開発に活かそう!

講師の言葉

(第1部)

 TensorFlowはGoogle社のディープラーニング(深層学習)フレームワークですが、ディープラーニングでは、ニューロンの働きを擬似的に多重化したニューラル・ネットワークを利用しています。本講座では、ディープラーニングの解説から始め、併せてPythonで記述するTensorFlowのプログラミング方式の解説、TensorFlow稼働環境での具体的なサンプル実行と解説を行います。特にTensorFlowでディープラーニングを実現する手法に力点を置いて解説します。

(第2部)
 オープンソース「TensorFlow」の公開は機械学習やその他の分野に大きな影響を与えるだろうと思われています。しかし、出てきてあまり月日も経っていないオープンソースライブラリということで、今まで用いられてきたCaffeeやTorchといったその他の機械学習ライブラリからの移行に躊躇してしまうことが多いと思われます。今回の講義が、その他のライブラリを活用している方や、TensorFlowを使ってみたがそこまで多くの機能や活用方法が分からない方にとって、今後機械学習を使っていく際の手助けになれば幸いです。

セミナー詳細

開催日時
  • 2016年07月25日(月) 10:30 ~ 17:30
開催場所 日本テクノセンター研修室
カテゴリー ソフト・データ・画像・デザイン
受講対象者 ・ディープラーニングを使用したAIに興味が有る方およびシステムを作ってみたい方 ・TensorFlowを使用したディープラーニングに興味が有る方 ・TensorFlowを使ってみたが、そこまで多くの機能や活用方法までは知らないという方 ・その他の機械学習のライブラリを活用していて、TensorFlowと比較するためにTensorFlowについて知りたい方 ・画像認識、音声認識、自然言語処理、検索システムなどの開発に関連する方
予備知識 ・Pythonプログラミングについては初歩的経験で充分ですが、経験が無くともプログラミングの基礎的経験があれば大丈夫です ・C++によるプログラミングや機械学習の実装を行った方であればより理解しやすいです ・行列、偏微分、対数の基礎知識
修得知識 ・TensorFlowの基礎について理解することができます ・ディープラーニングについて理解し、TensorFlowを使用したコード記述ができるようになります ・ニューラルネットワークについて理解することができます ・TensorFlowを用いて機械学習を行う際に押さえておくべきポイント
プログラム

第1部 ディープラーニングとTensorFlow

Neural Network(ニューラルネットワーク)


1. AI技術を構成する複数の流れ
 (1). 機械学習
 (2). パーソナル・アシスタンス
 (3). ディープ・ラーニング 他

2.ニューラル・ネットワークとその表現-1
 (1). 脳とニューロン
    a.ヘッブの法則 
 (2). 一つのニューロンの動きを考える
    a.ニューロンはいつ発火するのか
    b. 一つのニューロンの内部の状態の表現
 (3). 複数のニューロンの動きを考える


3.ニューラル・ネットワークとその表現-2
 (1) .活性化関数
   a. sigmoid 関数
   b. tanh 関数
   c. softmax 関数
              他
 (2).softmax関数の機能
   a.softmax関数の性質
   b.One-Hot-Vector
 (3). ニューラル・ネットワークのパラメータの最適化
   a. ニューラル・ネットワークで数値予測(線形回帰)
   b. 損失関数 Loss Function
   c. 勾配降下法 Gradient Descent
   d. クラス分けの場合の損失関数 クロス・エントロピー

4. Convolutional Neural Network(畳み込みニューラル・ネットワーク)
 (1). Convolutional Neural Networkとは
   a. Convolutio Layer
   b. Pooling Layer
   c. 疎な結合 (Sparce Connectivity)
   d. 重み行列の共有 (Shared Weights)
   e. 特徴マップ (Feature Map)
   f. 畳み込み演算 (The Convolution Operator)

 (2). 空間フィルタリング処理
   a. 空間フィルタリング処理の手法
   b. 平滑化フィルタ
   c. メディアンフィルタ
   d. 特徴抽出フィルタ

5. TensorFlow Servingの概要
 (1).TensorFlow Servingとは
 (2).TensorFlow Servingのセットアップ
 (3).実行モデル作成
 (4).TensorFlow Servingを用いた実行

TensorFlow


6. TensorFlowの特長
 (1). スケーラビリティ
 (2). 簡易/柔軟な記述方式
 (3). 多数のプログラミング言語からの利用
 (4). 可視化機能

7. TensorFlowの基本的なコード記述
  (1). 計算処理の表現(グラフ表現)
   a.データ構造のNode
   b.データ構造のEdge
  (2). 計算処理の実行
   a. Constructionフェイズ
   b. Executionフェイズ

 

8. TensorFlowの運用環境構築
   :GoogleのIaaSクラウド(Compute Engine)上に作成する手順
  (1). Compute Engineの設定
    a.Google Developpers ConsoleでCompute Engine有効化
    b.Compute Engineのインスタンス設定と生成
  (2). モジュール設定
    a.pipインストール
    b.Numerical Pythonインストール他
  (3). TensorFlowをインストール
  (4). 最初のプログラミング
    a. サンプル1(Hello Worldその1)
    b. サンプル2(Hello Worldその2) 
    c. サンプル3(演算処理1)
     d. サンプル4(演算処理2)

9.TensorFlowでディープラーニング
   :線形回帰等を使用したTensorFlowのディープラーニングを実現するコード記述スタイル
  (1).TensorFlowの計算方式
    a.モデルを作成
    b.誤差の計算
    c.最適化(誤差最小点を探す)
    d.予測式と学習済パラメータで予測実行
  (2).TensorFlowでの実装
    a. ライブラリをロード
    b. 予測式(モデル)を記述
    c. 誤差関数と最適化手法を記述
    d. 訓練データを作成(または読み込み)し学習実行
    e. 予測
    f. 後かたずけ 
 

10.サンプルを実行
  (1). サンプル5  回帰分析の初歩
  (2). サンプル6  誤差関数と最適化手法
  (3). サンプル7  識別問題(ロジステック回帰)
  (4). サンプル8  CNN 手書き文字認識:初心者用(MNISTデータ) 
  (5). サンプル9  CNN 手書き文字認識:上級者用(MNISTデータ)

 

11.TensorFlowその他の機能
  (1).TensorBoardでグラフの視覚化
    a. TensorBoardの起動
    b. Name scoping(名前空間のスコープ)とノード
    c. テンソル形状 (shape) 情報

  (2).Distributed TensorFlowを用いた分散学習
    a. Distributed TensorFlowのメリット
    b.モデル並列とデータ並列
    c.Distributed TensorFlowの実行手順

  (3).更に進んだモデルの構築
    a.再帰的ニューラルネットワーク(RNN)の構築
    b.共有重みを用いたネットワーク構築
    c. サンプル10 CNN 画像の分類(cifar10)

第2部 TensorFlowの実装のポイント

1.TensorFlowその他の機能
  (1).TensorBoardを用いた学習効果の確認
    a.イベント
    b.イメージ
    c.グラフ
    d.ヒストグラム
  (2).Distributed TensorFlowを用いた分散学習
    a.並列計算について
    b.複数のマシン間での分散のデモ
    c.分散処理の際の注意点

2.TensorFlowを実装する際のテクニック
  (1).データセット構築
    a.TensorFlowを用いた独自データの構築
    b.データセット構築デモ
  (2).複雑なモデル構築
    a.再帰的ニューラルネットワークの構築
    b.共有重みを用いたネットワーク構築

3.C++を用いたTensorFlow
  (1).独自オペレーションの作成
    a.オペレーションの定義
    b.カーネルの実装
    c.勾配の定義
    d.Pythonからの使用
  (2).TensorFlow Serving
    a.TensorFlow Servingとは
    b.TensorFlow Servingのセットアップ
    c.実行モデル作成
    d.TensorFlow Servingを用いた実行

キーワード TensorFlow ディープラーニング 深層学習 ニューラル・ネットワーク 機械学習 Python 線形回帰 分散学習
タグ 統計・データ解析クラウドコンピューティングコンテンツシミュレーション・解析データ解析ITサービス
受講料 一般 (1名):49,500円(税込)
同時複数申込の場合(1名):44,000円(税込)
会場
日本テクノセンター研修室
〒 163-0722 東京都新宿区西新宿2-7-1 新宿第一生命ビルディング(22階)
- JR「新宿駅」西口から徒歩10分
- 東京メトロ丸ノ内線「西新宿駅」から徒歩8分
- 都営大江戸線「都庁前駅」から徒歩5分
電話番号 : 03-5322-5888
FAX : 03-5322-5666
こちらのセミナーは受付を終了しました。
次回開催のお知らせや、類似セミナーに関する情報を希望される方は、以下よりお問合せ下さい。
contact us contact us
各種お問い合わせは、お電話でも受け付けております。
03-5322-5888

営業時間 月~金:9:00~17:00 / 定休日:土日・祝日