TensorFlow AI〜人工知能ではなく、機械学習で出来る事〜
TensorFlowで何ができるのか?
上記の答えを出すために、TensorFlowのチュートリアルをやってみました。そのやった内容と感想、そしてこの結果どんなことができるのか?を考えてみたいと思います。
イントロダクション
今流行りの「人工知能」と呼ばれているアプリケーション、フレームワークTensorFlowについて自分が学習しました。
TensorFlowとは
他のサイトでたくさん書いてあるので細かいことは書きません。「流行っている」ので(笑)
今回の記載する内容は初めに記載したように「TensorFlow(人工知能と呼ばれるアプリケーション)」を使って何ができるのか?を調べてみました。つまりTensorFlowのチュートリアルをやってどんな処理をしているのか調べてみました。
TensorFlowのチュートリアルをやってみる
TensorFlowのインストールを行う
今までJavaで色々とやってきたのですが、Javaの特徴として「他の言語へのアクセスがしやすい」と言う部分があるので「Python」との連携を行う予定です。
<フロー図>
TensorFlowのインストール
Pythonでの実行が一番手軽であろうと思った(他のサイトを見るとPythonでやっているものが多かった)のでPyhtonでやることにしました。
インストール方法については下のリンクを参照してください。以下の内容を実行しています。
- Virtualenvをインストール
- Virtualenv上にTensorFlowをインストール
- TensorFlowのインストール確認
<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の「レイヤー」と言う計算方法を組み合わせて作成する学習モデルに統計学的な予測を行わせることができる
と言うことがわかりました。
面白いところ
学習データセット(データの集まり)を作成するのは面白くはないが、学習モデルを作成する(データからどのような理論を持って、どんな答えを出させたいか?を考える)のは面白いと思います。これはプログラマでなくてもすぐにモデルの作成を行う(理論的に考える)ことができるのでとっつきやすいかと思います。※数式はとっつきづらいですが(笑)
関連ページ
- Python Tensorflow 〜初めての人工知能〜
- Tensorflow Keras〜初めのトレーニング_1〜
- Tensorflow Keras〜初めのトレーニング_2:前処理〜
- TensorFlow Keras〜テキストの分類〜
- TensorFlow Keras〜回帰、準備から予測まで〜
Eclipse セットアップ
- Java Install Eclipse〜開発ツールのインストール〜
- TensorFlow C++環境〜EclipseにCDTをインストール〜
- Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
- Eclipse Meven 開発手順〜プロジェクトの作成〜
- Java OpenCV 環境セットアップ(on Mac)
- Java Basic
- Java Basic Level 1 〜Hello Java〜
- Java Basic Level2 〜Arithmetic Calculate〜
- Java Basic Level3 〜About String class〜
- Java Basic Level 4〜Boolean〜
- Java Basic Level 5〜If Statement〜
- Java Basic Summary from Level1 to 5
- Java Basic Level 6 〜Traning of If statement〜
- Java Basic Level8 〜How to use for statement〜
- Java Basic Level 8.5 〜Array〜
- Java Basic Level 9〜Training of for statement〜
- Java Basic Level 10 〜While statement 〜
- Java Basic Swing〜オブジェクト指向〜
- Java Basic Swing Level 2〜オブジェクト指向2〜
- サンプル実装〜コンソールゲーム〜
- Java Basic インターフェース・抽象クラスの作り方
- Java Basic クラスとは〜Step2_1〜
- Java Basic JUnit 〜テストスイートの作り方〜