Musashitokiwa.LLC Blog

武蔵常盤株式会社のブログです。

AIに手を出してみる。TensorFlowで学ぶディープラーニング入門 5

皆さん、こんにちは、こんばんわ。

His First Japan 合同会社 代表社員の字引淳です。

f:id:a-j1b1k1:20170618215400p:plain

前回は、「この本のChapter02-1に書かれていることをまとめました。」という、ことを書きました。

 

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

 

 

今回は、「この本のChapter02-2に書かれていることをまとめました。」ということを書きます。

 

 

機械学習モデルの3ステップ】

  1. 与えられたデータを元にして、道のデータを予測する数式を考える。
  2. 数式に含まれるパラメーターの良し悪しを判断する誤差関数を用意する。
  3. 誤差関数を最小にするようにパラメータの値を決定する。

 

f:id:a-j1b1k1:20170718002606j:plain

 

この図を並べていくと、この本で言いたいことが一目瞭然となりそうです。

この画像を更新したら、予告なく、差し替えます。

 

 2017-07-18 00:23 画像更新

AIに手を出してみる。TensorFlowで学ぶディープラーニング入門 4

皆さん、こんにちは、こんばんわ。

His First Japan 合同会社 代表社員の字引淳です。

f:id:a-j1b1k1:20170618215400p:plain

前回は、「とりあえずは、まとめた!」という、ことを書きました。

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

 

 今回は、「この本のChapter02-1に書かれていることをまとめました。」ということを書きます。

 

この本の作者の中井さんのまとめ方が秀逸だったので、それをベースに図にしました。

 

機械学習モデルの3ステップ】

  1. 与えられたデータを元にして、道のデータを予測する数式を考える。

  2. 数式に含まれるパラメーターの良し悪しを判断する誤差関数を用意する。

  3. 誤差関数を最小にするようにパラメータの値を決定する。

 

f:id:a-j1b1k1:20170718002520j:plain

 

これを見ながら、この本を読んでみると、何を行っているかがすぐに分かります。

あくまでも自分の資料ですが、皆さんも参考にしてくださいな。

 

 2017-07-18 00:23 画像更新

AIに手を出してみる。TensorFlowで学ぶディープラーニング入門 3

皆さん、こんにちは、こんばんわ。

His First Japan 合同会社 代表社員の字引淳です。

f:id:a-j1b1k1:20170618215400p:plain

前回は、「とりあえずは、前提を抑えた!」という、ことを書きました。

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

 

 今回は、「この本のChapter01に書かれていることをまとめました。」ということを書きます。

 

ほとんどの人は、何かを勉強する時に、無知な状態では、どの本が初級レベル、中級レベル、上級レベルなのか判断がつかず、いきなり、中級、上級のものを買って、あまりに説明の少なさに挫折するという経験をします。

 

Chapter01をイメージがつかめるまで繰り返し読んだところ、今回は、AI初級編の本(今の僕にはちょうどいい)を得ることができたとホッとしています。

 

Chapter01では、まず初めにAIについて覚えて置いて欲しい前提が書かれていました。

前回に記載しました以下のことです。

 

機械学習モデルの3ステップ】

  1. 与えられたデータを元にして、道のデータを予測する数式を考える。

  2. 数式に含まれるパラメーターの良し悪しを判断する誤差関数を用意する。

  3. 誤差関数を最小にするようにパラメータの値を決定する。

 

この本に書いてあることを仕分けすると機械学習モデルの3ステップを軸に以下のようになります。

 

f:id:a-j1b1k1:20170718002258j:plain

 

数式でなく、TensorFlowのコードをベースに記載しました。

しかし、細かく理解するとキリがないし、今そこまで、理解できる頭でないので、このくらいのライトな認識であったほうが、覚えやすいし、使いやすいので、この認識で先に進みますね。

 

2017-07-18 00:23 画像更新

 

 

 

 

 

 

 

AIに手を出してみる。TensorFlowで学ぶディープラーニング入門 2

皆さん、こんにちは、こんばんわ。

His First Japan 合同会社 代表社員の字引淳です。

f:id:a-j1b1k1:20170618215400p:plain

 

前回に引き続き、以下の参考書をさらってみます。

 

前回は、ただインストールして学習環境の構築をしました。

「Dockerはいいなー。」って話をして終わりました。

 

今回は、「Jupyter」を早速使ってみます。

勇んで触って見たところ、何をしているのかは、プログラムを見ればわかります。

 

そこで、疑問点が出てきます。

『これって、機械学習なんだよね? 』

機械が何を学習しているのかがわからない。

ぱっと見、バッチ処理のように何かを処理しているだけのようにしか見えない。

 

他を見ても、以下同文。

 

とりあえず、初見だと、誰でも同じ疑問を持つと思う。

最初は誰でもそんなもん。そこで流し読みしたところを、慎重に読んでみる。

ちゃんと書いてある。

 

機械学習モデルの3ステップ】

  1. 与えられたデータを元にして、道のデータを予測する数式を考える。

  2. 数式に含まれるパラメーターの良し悪しを判断する誤差関数を用意する。

  3. 誤差関数を最小にするようにパラメータの値を決定する。

 

「・・・本書の主題でもあるディープラーニングを含めて、データの背後にあるモデル、すなわち、データを説明する数式そのものは、人間が用意しているという点に注意が必要です。」

 

機械学習だからといっても、全部機械がやってくれるわけではない。

それが、今のAIの前提。

前提を押さえないとわかるものもわからないね。

 

 

 
 
 
 
 
 
 
 

 

 

 

 

AIに手を出してみる。TensorFlowで学ぶディープラーニング入門 1

皆さん、こんにちは、こんばんわ。

His First Japan 合同会社 代表社員の字引淳です。

f:id:a-j1b1k1:20170618215400p:plain

 

タイトルにあるように今回は、新規事業とは全く関係ない話。

 

きっかけは、顧客の会社のエンジニアの方が、AIについて、GoogleのTensorFlowについて教えてくれたことです。

 

最近はネットワークをいじったり、ラズパイを触ってみたり、自分の不得意な分野の勉強をしてみて、世のコンピュータ事情を体験し、ちょっと青くなっています。

 

「あまりにも簡単すぎる。」のがその理由。

 

TensorFlowもどうやら、AIを簡単に体験できるようす。

ということは、数年しないうちに、若い衆の話についていけないなんてことにもなりかねない。

 

アマゾンポチって早速本を一冊購入して、内容をさらってみる。

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

 

 細かい内容はネタバレになってしまうので、xxxxxxxとして、とりあえず、この本の学習環境を構築してみる。

 

弊社のLAN内部に立ててあるCentOs7のサーバーを利用して環境を構築する。

参考書でもCentOs7が指定されているのでこれを使う。

```sh

# yum -y install docker

# systemctl enable docker.service

# systemctl start docker.service

# mkdir /root/data

# chcon -Rt svirt_sandbox_file_t /root/data

# docker run -itd --name jupyter -p 8888:8888 -p 6006:6006 -v  /root/data:/root/notebook -e PASSWORD=xxxxxxx xxxxxxx/jupyter_tensorflow:0.9.0-cp27

# docker ps

```

 

無事に環境が起動していることを確認する。

本当にDockerって便利ですね。

ちょっと前までは、サーバーアプリをインストールするために色々手をこまねかねばならなかったのに、docker run コマンドだけでなんとかなっちゃうんだから。

 

「玄関開けたら2分でご飯。」っていうCMが昔あったな。

docker run でもう使える。

 

実際に、http://localhost:8888 でもう使える。

f:id:a-j1b1k1:20170623224138p:plain

 

うちでは、Dockerを使えないエンジニアは雇わないようにしよう。

 

 

新規事業について

 

このブログをリニューアルして数ヶ月放置したままで、三日坊主もあったものではないが、書くこともないのにだらだら書いていてもあまりいいことはない。

書くことがないなら潔く放置。

f:id:a-j1b1k1:20170618215400p:plain

この度、2017/8/1で『His First Japan 合同会社』(以降、HFJ)が、創業1周年を迎えるので、2年目以降を見越して新規事業を起こす予定です。

そこで、HPをFacebookにしか持たないHFJとして、公式に情報の発信を行う場所としてこのブログを活用しようと考えています。

新規事業のテーマは、『「ちょっと、どんなもんかやってみたい。」を実現する。』

今回はここまでです。