Takunojiのプログラミング・プレイグラウンド(遊び場)

Javaプログラミングを基本にして、ゲーム作成に必要なことの調査結果、やったら面白そうなことなどを記載します。プログラミングのススメ的なことも記載します。プログラミングで楽しく遊ぶために色々と記載して行きます。

TensorFlow AI〜人工知能ではなく、機械学習で出来る事〜

TensorFlowで何ができるのか?

上記の答えを出すために、TensorFlowのチュートリアルをやってみました。そのやった内容と感想、そしてこの結果どんなことができるのか?を考えてみたいと思います。

イントロダクション

今流行りの「人工知能」と呼ばれているアプリケーション、フレームワークTensorFlowについて自分が学習しました。

TensorFlowとは

他のサイトでたくさん書いてあるので細かいことは書きません。「流行っている」ので(笑)

今回の記載する内容は初めに記載したように「TensorFlow(人工知能と呼ばれるアプリケーション)」を使って何ができるのか?を調べてみました。つまりTensorFlowのチュートリアルをやってどんな処理をしているのか調べてみました。

TensorFlowのチュートリアルをやってみる

TensorFlowのインストールを行う

今までJavaで色々とやってきたのですが、Javaの特徴として「他の言語へのアクセスがしやすい」と言う部分があるので「Python」との連携を行う予定です。

<フロー図>

f:id:Takunoji:20190106215650p:plain

TensorFlowのインストール

Pythonでの実行が一番手軽であろうと思った(他のサイトを見るとPythonでやっているものが多かった)のでPyhtonでやることにしました。

インストール方法については下のリンクを参照してください。以下の内容を実行しています。

  1. Virtualenvをインストール
  2. Virtualenv上にTensorFlowをインストール
  3. TensorFlowのインストール確認

zenryokuservice.com

PythonはGoogleTrends(pytrends)を使用しています>

実は他にも、「Google Trend」などのAPIも使用したかったのでPythonを使用することにしました。Google TrendはAPIで世界で検索されているキーワードの検索実行数を取得できます。Pythonで実装しました。Gitからダウンロードできます

出力結果

$ python3 googleTrends.py 健康

データ型=<class 'dict'>

キーワード=健康

*** args 健康 ***

             query  value

0            健康 保険    100

1            健康 診断     53

2         国民 健康 保険     36

3         健康 保険 組合     18

***急上昇中のキーワード***

0                                    アイコス 健康  14750

1                 健康 で 文化 的 な 最低 限度 の 生活 ドラマ   8150

2                                    iqos 健康   5950

3                                健康 経営 優良 法人   5350

詳細に関してはリンクを参照ください。

 

結局のところ

TensorFlowでは、細かい計算をやってくれます。統計学的なアプローチで画像の判別を行ったり、文の内容から「ポジティブ」「ネガティブ」の判定を行ったりすることができます。根底にあるのは、「雨が降ったら傘屋が儲かる」ような話で「天候」と「飲み物の売り上げ」のように

「何かの条件」で「物事の結果(数値)」を出したいときに今までの「天気と売り上げのデータ」をTensorFlowの「レイヤー」と言う計算方法を組み合わせて作成する学習モデルに統計学的な予測を行わせることができる

と言うことがわかりました。

面白いところ

学習データセット(データの集まり)を作成するのは面白くはないが、学習モデルを作成する(データからどのような理論を持って、どんな答えを出させたいか?を考える)のは面白いと思います。これはプログラマでなくてもすぐにモデルの作成を行う(理論的に考える)ことができるのでとっつきやすいかと思います。※数式はとっつきづらいですが(笑)

関連ページ

  1. Python Tensorflow 〜初めての人工知能〜
  2. Tensorflow Keras〜初めのトレーニング_1〜
  3. Tensorflow Keras〜初めのトレーニング_2:前処理〜
  4. TensorFlow Keras〜テキストの分類〜
  5. TensorFlow Keras〜回帰、準備から予測まで〜

 

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseにCDTをインストール〜
  3. Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)