Google人工知能入門講座 20180815

Tensorflowのチュートリアル
08 /15 2018
今日も引き続いてGoogle人工知能入門講座を読み進めていきます。
解説というよりは備忘録的な感じです。

今日は Descending into ML のところです。

・ Video Lecture
線形回帰のお話をしています。
たとえば、手元に家の敷地の広さとそれの価格というデータセットがあったとします。そして、このデータセット用いて、家の敷地から価格を予測できるようにしたいとします。
まずは、横軸(X軸)にその敷地の広さ(特徴量)をとってやり、それに対応する家の価格(ラベル)を縦軸(Y軸)にとってあげます。
ひたすらデータを入力していくと、動画の様に点がぽつぽつとある分布に従ってグラフ上に描かれます。
ここで、その点たちとなるべくかぶるように線を一直線に引いたとします。

その一直線に引いた線こそがモデルとなります。(一番単純なものですが)
そのモデルは数式で表すと一次関数
y = wx+b
と表現されます。つまり、wとbに対応する値さえ分かってしまえば、敷地の広さ(x)から家の価格(y)を予測することができるのです。
*ちなみに、私はwを重みと呼び、bを偏りと呼んでいます。
機械学習ではこのwとbを与えられたデータに対して最適化することを行っています。
では、一体何をもってして、データに対してモデルが最適化されたといえるのか、その目安となるのが損失(loss)です。
損失はある特徴量に関してモデルの予想値と実際の値がどれだけズレているのかを数学的に表現したものです。
ここでは損失としてL2(二乗誤差)を紹介しています。数式をみるとわかるように、予想値と実際の値のズレが大きいほど損失も大きくなることがわかります。
機械学習ではこの損失が小さくなるようなモデルを探すことを行っています。

・ Linear Regression
ここではコオロギの鳴く回数と温度のデータを元に線形回帰を行っています。
先ほどの動画の例の様にデータをx-y軸上にプロットしてから直線を引っ張ってモデルを作ることを行います。
とにかく、重みが特徴量に掛け合わされたり、偏りが足し合わされたりすることでラベルの値を求めることができるということが重要です。
*ただ、一番最後のy'=w1x1+w2x2・・・の部分に関しては単純な線形ではなくなっているので注意です。

・ Training and Loss
ここでは学習(トレーニング)と損失に関するお話をしています。
学習は特徴量とラベルが紐づけられたデータを用いて、重みと偏りを最適化することを意味します。
そして、その最適化はモデルの損失が一番小さくなるようにすることで行われます。
注意するべきなのは、すべてのデータ点に対してモデルの損失を小さくするということです。

20180815_3.jpg


左のプロットも右のプロットも同じモデルです。ただし、重みと偏りが違うことで図のように全く違う部分を直線が通ることになり、それにより損失もかなり違ってきます。
ここで、すべてのデータに対する損失を評価するために平均自乗誤差を損失関数として導入しました。この損失関数はめっちゃ便利なので、覚えておいても損はないと思います。
数式は以下のような感じ。

20180815_2.jpg

D: ラベルと紐づけられたデータセットの集合
N: ラベルと紐づけられたデータセットの集合の内、今回の解析で用いたデータの数
y: ラベルの値(真の値)
x: 特徴量の値、多次元量かもしれないやつ
(x,y): 今回の解析で用いたラベルと特徴量が紐づけられたデータ(xとyの組)
prediction(x): 特徴量を用いて算出されたラベルの予測値
Σ: ラベルの真の値とラベルの予測値の引き算の二乗をデータ数の分だけ行い、足し合わせている。

・ Check Your Understanding
いい問題です。

20180815_1.jpg

平均自乗誤差を損失関数として用いた場合、右と左プロット、どっちの方が損失が大きくなるのかという問題です。
答えは右側のプロットの方が損失が大きくなります。
平均自乗誤差はすべてのデータ点に対して、二乗で評価していきます。
つまり、一部のデータがモデルから離れた場合、その離れた距離の二乗に応じた値が損失に加算されるわけです。
今回はデータ点が非常に少ないため、外れたデータ点の影響をもろに受けましたが、本来はもっとたくさんデータ点があり、1、2点すごい外れたとしても1/Nの分が打ち消すので大丈夫です。(そのための平均です。)

カスタムオーダーメイドでまつ毛の色をかえる

ゲーム
08 /14 2018
今日はカスタムオーダーメイドでまつ毛の色を変えることに関してです。


以前からまつ毛の色を変えられないことが気になっていました。
そこで、何か良いものは無いかとカスタムオーダーメイド3D2改造wikiを漁っていたら、できそうなものを発見。

201808133.jpg


早速落としてきて”Sybaris”の中に入れてゲームを起動。
しかし、このプラグイン、説明書(Readme)が入っていない・・・。
どうやって使えばいいのか全くわからず、四苦八苦しながらなんとかまつ毛の色を変えました。
ざっと使い方をまとめると、
・ メイドさんのエディット画面でF12を押すとメニューが表示。
・ ”マテリアル情報変更”の”頭”を選択し、”SkinAlpha”と書かれている項目でまつ毛の色を編集可。
となっています。

ちなみに編集前が

201808131.jpg


編集後が


201808132.jpg


となっています。
まあ、そこまではっきりと色を変えることはできないのですが、印象はガラッと変わります。
ただし、ここまで説明しておいてなんですが、まつ毛の色の変更はエディット画面の時しか有効になりません。
つまり、エディット画面から抜け出してダンスを躍らせるとまつ毛の色が元に戻ってしまいます。
たぶん、何か設定を保存する方法があると思うのですが、残念ながら説明書が無いのでギブアップです。
とりあえず、今後アップデートされたときにもっと使いやすくなることを祈りましょう。

今日はここまでです。

つぶやき 20180813

雑談
08 /13 2018
今日の終わりに一言。
酔っぱらいの愚痴なので、興味のない人は飛ばしてください。









前にも書いたかもしれませんが、私はものづくりに一番必要なのは信念だと思っています。
ソフトでもハードでも最先端の物をただ加えただけでは新しいものはできないと考えています。
信念があるからこそ欲しい機能が絞られていき、デザインも洗練されていく。
そして、欲しい機能の延長線上に最先端の技術が存在するのだと思います。
人工知能と聞くと、人が指示しなくても自分で勝手に考えて動くようなものが望まれているみたいですが、それは私が目指しているものと若干違っているんですよね。
人工知能がすべてやってくれて人間は何もやらないのはダメだと思うんですよ。もちろん、人間がすべてやって人工知能はなにもしないのは論外です。
私が目指したいのは人と共に歩む人工知能なんです。
人工知能が人を支え、人が人工知能を支える。そういったものを作りたいんですよね。

以上、酔っぱらった門外漢の言葉でした。

Google人工知能入門講座 20180812

Tensorflowのチュートリアル
08 /12 2018
皆様、暑い中お疲れ様です。
体調管理に気を付けてお盆休みを満喫しましょう!
というわけで、今回もグーグルの講座の解説を行っていきます。

第二回目はFramingです。

・video lecture

教師あり機械学習についてメールのスパム判定を例に説明しています。
人工知能に特徴量とラベルを紐づけさせて学習させ、あるモデルを構築させていきます。
その構築させたモデルを使うことで、特徴量だけからラベルを予測しようという話です。
メールですと、
特徴量: メール中の文章、メールの差出人、メールの宛先、ヘッダーの情報
ラベル: スパムメール(スパムメールであるか、スパムメールでないのか)
モデル: 迷惑メールフィルター
みたいな感じになります。
最終的に迷惑メールフィルターがメール中の文章などからスパムメールであるかの判定を行うわけですね。


・ML Terminology

ここでは用語の説明をしています。
ラベル: 出力(y)。一次関数だとax+b=yのようなもの。
特徴量: 入力変数(x)。データの量が増えるほど増える奴。ちなみに太字はベクトル表記を意味する。(x1,x2,...,xN)=x
試料データ: ある特定のデータセットの集まり。学習用データとテスト用データに分けられる。学習用データは特徴量とラベルが紐づけされていて、テスト用データは特徴量のみとなっている。
モデル: 特徴量とラベルを関連付ける働きを持つものである。特徴量を入力データとして与えると、ラベルを出力してくれる。モデルは学習時に特徴量とラベルの紐づけを行う。テスト時は特徴量からラベルの予測を行う。
回帰モデル: これは連続値のラベルを予測する時に使われるモデルである。(料金や確率などの具体的な数値の予測)
分類モデル: これは離散値のラベルを予測する時に使われるモデルである。(スパムか、スパムでないか等の分類を行う)


・Check Your Understanding
問題は2問あります。ざっとまとめると、
・スパムかスパムでないかを判断するためのモデルを作るときに何が正しいのか。
・顧客別におすすめの靴を表示させるようなモデルを作る場合、何が正しいのか。

正解はそれぞれ2つあります。がんばってください。

今回はここまでです。

Google人工知能入門講座 20180808

Tensorflowのチュートリアル
08 /08 2018
今日は前に紹介したGoogleのMachine Learning解説に関する話です。

仕事終わりでしんどいので、 
Introduction to Machine Learning (リンクはこちら
の動画だけを見てみた。

英語でしゃべっていて何を言っているか分かりませんでしたが、左下のところにある"CC"の部分をクリックすると文章が表示されるのでだいぶ助かりました。(図中の赤矢印)

20180808.jpg


とりあえず、ざっくりとまとめてみると、機械学習を利用することには3つの利点があり、
1.プログラミング(ある目的をもったコードを書く)に費やす時間が減る
2.応用を利かせることができる (ある特定の問題から似たような問題を解けるように対応させることができる)
3.人間の機能を再現できる(顔認証など)
があるそうです。
そして、機械学習は科学的な見方が重要であり、機械学習が導き出した結論を数学(統計学)を用いて分析し、意味を持たせることが大事っぽい。

今日は疲れたのでここまでです。
酒に酔っているので間違っていたら申し訳ないです

シジミパワー

 ブログ初心者です。よろしくお願いします。

 チャットボットにこちらからアクセスできます。
 無料版のプラットホームを用いているので、会話数に制限があります。申し訳ございません。
 2月18日をもって終了する予定です。使ってくださった皆様、ありがとうございました。

 
 ふりーむにゲームを掲載させていただきました。掲載されているページへ移動する場合はここをクリックしてください。