Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TensorFlowによるFizz Buzz

588 views

Published on

静岡Developers勉強会とShizuoka.pyのTensorFlowの資料となります。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

TensorFlowによるFizz Buzz

  1. 1. TensorFlowによるFizz-Buzz やじゅ@静岡Developers勉強会
  2. 2. アジェンダ  自己紹介  TensorFlowについて  Fizz Buzzについて  one-hot ベクトル  偶数と奇数に分類  Fizz Buzz問題を解く  その他
  3. 3. 自己紹介  平口 八寿人(Twitter:yaju) http://yaju3d.hatenablog.jp/ http://qiita.com/yaju 静岡県島田市のSLが通る川根温泉近く に在住。
  4. 4. 静岡Developers勉強会について 2008辺りから全国でIT勉強会ブームが起き始める。 2009年に静岡ITPro勉強会の第1回が行われる。 名前に「ITPro」と付くようにシステム管理者向けであったため、 開発者向けの勉強会が欲しいと2010年に発足。 ・ 2010年:「Programming in Haskell」 ・ 2011年:「JavaScript: The Good Parts」 ・ 2012年:「HTML5&CSS3実践入門」、「GitHubハンズオン」、 「node.jsハンズオン」 ・ 2013年:「入門 機械学習」 ・ 2014年:「実践 コンピュータビジョン」 ・ 2015年:「UnityとBlenderハンズオン」 ・ 2016年:「人工知能ハンズオン TensorFlowコトハジメ」 2015年まではほぼ毎月開始、人数が少ないので年数回に切り替え
  5. 5. TensorFlowについて 読み方は「テンサーフロー」 Googleが2015年11月10日に公開したオープンソース多 層NN(ディープラーニング)に特化したライブラリで現状 C++/PythonでのAPIが存在しています。 TensorFlow 0.12(2016/11/29リリース)からWindowsを サポートするようになりました。2017/02/16に1.0リリース TensorFlowがWindowsサポートしたのでインストールしてみた テンソルについて 多次元の配列
  6. 6. Fizz Buzzについて Fizz Buzz(フィズ・バズ)は英語圏でドライブ中や飲み会 などで行う言葉遊び。 3の倍数のときは「Fizz」、5の倍数のときは「Buzz」、3と 5両方の倍数の場合には「FizzBuzz」、それ以外は数字 を出力する。 2008年ごろ「世界のナベアツ(桂三度さん)」が、Fizz Buzzと同様の規則性で「3の倍数と3が付く数字のときだ けアホになります」のネタがブームに。 【お笑い】R1「世界のナベアツ・3の倍数」2008年
  7. 7. one-hot ベクトル ニューラルネットワークで多クラス分類をする場合、出力層として分 類したいクラスの数と同じ次元のベクトルを出力する。 人工知能のチュートリアル(MNIST)の手書き文字認識で0~9の数 字を分類する(最終出力層10個)がある。 画像データ(28x28=784) x 訓練データ 55000 ↓ 対応ラベル (0-9 =10 ) x 訓練データ 55000
  8. 8. 偶数と奇数に分類 Fizz Buzz問題に行く前に手始めに、偶数と奇数に分類 を考えてみる。 「101から127(2^7-1)までのデータで学習したニューラル ネットワークに対して、1から100までの答え(偶数なら even、奇数ならodd)の予測」して出力する。 TensorFlowコトハジメ 偶数と奇数に分類
  9. 9. Fizz Buzz問題を解く 「Fizz-Buzz問題」はコードが書けないプログラマ志願者 を見分ける手法、もしくはどんなコードを書くかなどプログ ラマ採用試験として使われる。 Joel Grusさんの「Fizz Buzz in Tensorflow」の記事。 プログラマー採用試験としてFizzBuzz問題のプログラム を書きなさいというIT会社面接官に対して「では、まず TensorFlowをインポートします…」というジョークです。 つまり人工知能によってFizzBuzz問題を解くという更に 高度な提案をしたわけです。
  10. 10. Fizz Buzz問題を解く 学習用データに1から100までの数値を使うことは不正行 為とのことで、101から1023までのデータで学習した ニューラルネットワークに対して、1から100までの答えの 予測を出力するプログラムになっている。 TensorFlowコトハジメ Fizz-Buzz問題
  11. 11. その他  TensorFlowコトハジメ Word2Vecで「君の名 は。」と戯れてみた  「サザエさんのじゃんけん データ分析」の2016 年の結果  なぜ機械学習にPythonが選ばれるのか ご清聴ありがとうございました。

×