PPAP BOXをつくる / Maker Faire Tokyo 2017に出展する

English follows japanese

製作途中のPPAP BOXをMaker Faire Tokyo 2017に出展した。まだ人工知能らしいことは何もできていないけれど、このPPAP BOXを使って人工知能の未来について参加者と楽しい議論をすることができた。私がいったい何を展示したのか当日の会話を再現して説明する。

「これは何ですか?」

「これはペンとパイナップルとリンゴを認識する深層学習的人工知能機械です。」

「あ、だからPPAPなのね。あ、だから服もヒョウ柄なのね。」

「はい、そうです。まず、この白い球の中にリンゴを入れます。そしてこの蓋についたカメラで、中のリンゴを撮影します。また、この玉の下にある重量計でリンゴの重さを測ります。」

「ほほう。」

「まだ実装できていないのですが、匂いセンサと、温度センサと、距離センサでリンゴの香りや温度、そして大きさを測ります。そして測定したこれらのデータを、このラズベリーパイという小さいコンピュータに入力すると、白い球の中に入れたものが、リンゴなのかパイナップルなのかペンなのか判別できます。」

「はぁ。」

「お手本は後ろで展示しているキュウリコンピュータです。あれを見て、自分も人工知能を作ってみたくなりました。でも、真面目なキュウリの仕分けではなくて、面白いものを認識しようと思ってこれを作ってみました。」

「へぇ~」

「ただ、お手本とは違うポイントがあります。キュウリコンピュータではカメラを使っていますが、僕は5感を使ってモノを認識したいんです。例えば人工知能は猫を認識できると言いますが、猫の画像と本物の猫は違います。本物の猫はちょこちょこ動くし、にゃあにゃあ鳴くし、触ったらふさふさしてるし、持ったら重いし、冬は抱いたら暖かい。」

「うん、うん。」

「猫の見た目は猫の一部でしかないんです。だから僕は、目で見るだけでなく、鼻で匂いをかいで、耳で音を聞いて、手で持って大きさや重さを測って、できたら味を見て、そうやって5感でモノを認識するということを、人工知能に人間と同じようにやらせたいんです。だからたくさんのセンサを実装することを目指しています。」

「ほう、ほう。」

「それができれば、リンゴの写真と本物のリンゴを判別できます。それから、おもちゃのリンゴと本物のリンゴを判別できます。そして、リンゴとトマトも判別できます。5感でモノを認識する仕組みができれば、きっとリンゴとパイナップルとペン以外も認識できるようになります。」

「おお、おう。」

「この人工知能はまだ生まれたばかりです。来年のMakeでデモができるように、これからじっくり育てていきます。ぜひ来年に期待してください。」

「OK また来年見に来るよ」

 

Making PPAP BOX / Maker Faire Tokyo 2017 

I showed the PPAP BOX Mock up at the Maker Faire Tokyo 2017. Although I could not do anything that seemed to be artificial intelligence yet, But I was able to have fun discussions with participants about the future of artificial intelligence with this PPAP BOX. I explain what I showed on the day as the conversation.

"What is this?"

"This is a deep learning artificial intelligence machine that recognizes pen, pineapple and apple."

"Oh, so it's PPAP, so your clothes are leopard patterns."

"Yes, yes, I will put an apple in this white ball, It will shoot the apple with the camera attached to this lid, and the weight of the apple is mearsured with this TANITA Kitchen scale under this white ball."

"I see."

"We have not implemented yet, It will measure the scent with the odor sensor, and the temperature, and the size of apple with the distance sensor. And these measureed data input this small computer called Raspberry pie. Then you can determine whether the one put in the white ball is an apple, a pineapple, or a pen. "

"Oh, yes."

"The model is a cucumber computer that is exhibiting behind.I want to try making artificial intelligence by looking at it, but I am trying to recognize something interesting, not a serious cucumber sort. I tried to make this. "

"Wow. "

"However, there are points that are different from the model.Cucumber computers use cameras, but I want to recognize objects using many senses.It say that AI can recognize cats, but The cat picture and the real cat are different.The real cat moves slightly, it crows, it feel good caot when you touching, it is heavy, holding it in winter, it is warm. "

"Yeah, yeah."

"The appearance of a cat is only a part of a cat so I not only look it with my eyes but also smell it with my nose, listen to the sound with my ear, hold it with my hands and measure the size and weight I want to make artificial intelligence do the same thing as a human being, by recognizing things with many senses not only looking, so I aim to implement a lot of sensors. "

"How,"

"It will can distinguish apple pictures and real apples, then it can distinguish between toy apples and real apples, and it can also distinguish apples and tomatoes. I hopefully will be able to recognize anything other than apples, pineapple and pen. "

"Oh, oh."

"This PPAP BOX has just been born, so I will nurture it carefully so that it can be demonstrated at next year's Maker Faire, please expect it next year."

 "OK I will come to see you next year"

 

f:id:eunoi11:20170815110747j:imagef:id:eunoi11:20170815110753j:imagef:id:eunoi11:20170815110757j:image

 

 

 

 

 

PPAP BOXをつくる / モノを認識すること

English follows Japanese

Google人工知能は猫を認識できるらしい。2012年に話題になったテーマである。

2017年では適当に書いた猫の絵が、実写版の猫に変換できるようになった。猫画像をたくさん学習したニューラルネットワークは、何でも猫に見えるらしい。人工知能だって金槌しか持っていないと、すべてのものが釘に見えるのかもしれない。

Image-to-Image Demo - Affine Layer

でもこれらのニューラルネットワークは「猫」を認識しているのだろうか。いや、そうではなく、「猫の画像」を認識しているだけだ。(それだってとてもすごいことだ!)つまり外見から猫と猫以外を分けることはできる。しかし本物の猫はじっとしていないし、みゃあみゃあ鳴くし、持ち上げれば重いし、触れば毛がふさふさするし、匂いもあるし、手を当てると温かく感じる。画像の猫は本物の猫の一部である。

こども向けの絵本ではあるが、ヨシタシンスケさんが描いた「りんごかもしれない」という作品がある。台所にある「りんご」が実は「りんごに見えるなにか」かもしれないと想像していく大変愉快なお話である。でもこれはモノも認識することの本質をついているのかもしれない。自分の家の台所にあって、りんごの形をしていて、りんごの色をしていて、りんごぐらいの重さで、りんごと同じ手触りで、叩いたり振ったりしても変な音はしなくて、熱くもなく冷たくもなく、鼻を近づけるとかすかにりんごの香りがして、一口かじってりんごの味がしたら、きっとそれはりんごかもしれない。

りんごかもしれない

りんごかもしれない

 

 自分が作ろうと思っているのは、りんごとパイナップルとペンを見分ける機械だけど、五感でモノを認識する方法は、きっと何でも認識できるようになるに違いない。そうなったらいいなと思っている。

 

Making PPAP BOX / Recognizing 

Google's artificial neural network learned to detect cats. It is a theme that became a topic in 2012.

 

In 2017, it became possible to convert a picture of a cat appropriately written into a live-action version cat. The neural network which learned a lot of cat images seems to be able to see anything as a cat. Even if artificial intelligence has only a hammer, everything may look like a nail.

Image-to-Image Demo - Affine Layer

But are these neural networks recognizing "cats"? No, it is not, it only recognizes "cat images". (That's awesome thing to say!) That learned cats from only the outside. But real cats do not sit still, they are crowing, they are heavy if you lift them up, they touch the hair when you touch them, there are smells, and feeling warm when you touch your hands. An image cat is part of a real cat.

Although it is a children's picture book, there is a work called "It Might be an Apple" that Yoshitoshinsuke drew. It is a very pleasant story to imagine that "apples" in the kitchen may actually be "something that looks like apples". But this may be the essence of recognizing things as well.

It is in the kitchen, it is the shape of an apple, it is the color of an apple, it is the weight of an apple, with the same feel as an apple, even if I strike or shake it, it don't make a strange sound, it's not hot or it's not cold, as you approach the nose it smells a little faintly, when you taste a bite and it tastes of apple, it may be an apple

It Might be an Apple

It Might be an Apple

 

 What I'm going to make is a machine that know apple and pineapple and pen, but surely any way to recognize things with five senses will be able to be recognized by anything. I think that it would be nice to do so.

 

PPAP BOXをつくる / ラズベリーパイのセットアップ

English follows japanese

ラズベリーパイを購入してセットアップをしてみた。

用意したもの

・Raspberry Pi3 Model B 

Raspberry Pi用電源セット

・microSDHCカード 32GB  

HDMIケーブル

・USBキーボード

・USBマウス

・LANケーブル

・普段使っているノートPC

・普段使っていないテレビ 

amazonのリンクは本文の最後にある。

届いたものを開封する

ラズベリーパイが入っている小袋が可愛い。セーフティガイドとクイックスタートガイドが分厚いので驚くが、同じ内容が多言語で書かれているので情報量は少ない。 

SDカードをフォーマットする (PC作業)

論理サイズ調整を"ON"にしてフォーマットする。 

NOOBSをダウンロードしてSDカードにコピーする (PC作業)

ダウンロードしたフォルダーごとコピペすると動かなかった。解凍したフォルダの中身をコピペしたしたら動いた。 

ラズベリーパイの物理的コーディング

SDカードをラズベリーパイにさす。

HDMIケーブルでラズベリーパイとテレビをつなぐ。

USBマウスをラズベリーパイにつなぐ。

USBキーボードをラズベリーパイにつなぐ。

LANケーブルをラズベリーパイにつなぐ。

電源プラグをラズベリーパイにさす。 

電源ONにするとテレビに何か映るので喜ぶ。

Raspbianのインストール (ラズベリーパイ作業)

ラズビアンを選んでインストールする。ラズベリーパイでインターネットを見て喜ぶ。Googleが見れる!Yahooが見れる!google chromeに似ているchromiumというブラウザに興味を持って調べると、chromeの親であることに驚く。

その後はWifiBluetoothを設定してマウス、キーボードをワイヤレス化する。モニタもMiracastを利用してワイヤレス化できる。

まとめ

ラズベリーパイの誤接触やピン破損が怖いので専用のケースも買った。USBキーボドは近くのホームセンターで 800円で買うことができた。10キーや矢印キー、ファンクションキーが独立しているフルサイズのキーボードが1000円以下で買えるので驚いた。私はマウスやキーボードなど直接手に触れるモノは実物を触って買いたい。HDMIケーブルはamazonが安くて、メール便で届くので受取が楽だった。 ラズベリーパイ用のモニタ(1920x1080)を購入したが、小さすぎてセットアップには使いにくかった。あとでうまく使えたらいいなと思っている。

 

Making PPAP BOX / Set up Raspberry pi

I bought a raspberry pie and set up it.

What prepared

· Raspberry Pi3 Model B

· Power supply set for Raspberry Pi

· MicroSDHC card 32GB

· HDMI cable

· USB keyboard

· USB mouse

· LAN cable

· Laptops you usually use

· TV that you do not normally use

The link of amazon is at the end of the text.

Open the items 

The pouch containing the raspberry pie is cute. I am surprised that the safety guide and the quick start guide are thick, but since the same contents are written in multiple languages, the real information is small.

1st, Format the SD card (PC work)

Format the logical size adjustment "ON".

Download NOOBS and copy it to SD card (PC work)

Pi could not move by copied the folder I downloaded. the copied contents of the unzipped folder and it moved.

Physical coding of raspberry pie

Put the SD card in a raspberry pie.

Connect the raspberry pie and the TV with the HDMI cable.

Connect the USB mouse to the raspberry pie.

Connect the USB keyboard to the raspberry pie.

Connect LAN cable to raspberry pie.

Put the power plug in a raspberry pie.

When turning on the power, You will rejoice to be shown on the TV!

Installation of Raspbian (raspberry pie work)

Select the raspian and install it. First of all, I am glad to see the internet with raspberry pie. I can see Google! I can see Yahoo! Interested in browsers like chromium which resembles google chrome, I am surprised that they are parents of chrome.

After that, set Wifi and Bluetooth, make mouse and keyboard wireless. The monitor also uses Miracast to make it wireless.

Summary

Raspberry pie bought a case because it is scared of erroneous contact and pin breakage. I could buy the USB keyboard at the nearby home center for 800JPY. I was surprised because I can buy a full size keyboard with 10 keys, arrow keys, and function keys, which are independent, at 1000JPY or less. I want to buy things that directly touch the hand such as mouse and keyboard by touching the real thing. The HDMI cable in amazon is resonable, and it is easy to receive because it reaches by mail. I bought a monitor for raspberry pie (1920 x 1080), but it was too small to use for setup. I hope I can use it well later.

 

f:id:eunoi11:20170512104614j:image

f:id:eunoi11:20170512104620j:image

f:id:eunoi11:20170512104625j:image

 

Raspberry Pi用電源セット(5V 3.0A)?Pi3フル負荷検証済

Raspberry Pi用電源セット(5V 3.0A)?Pi3フル負荷検証済

 

 

 

 

 

 

PPAP BOXをつくる / Maker Faire Tokyo 2017 展示イメージ

English follows japanese

センサモジュールとラズパイとタブレットを置いて、ペンとパイナップルとリンゴをたくさん並べる。自分はヒョウ柄とサングラスも着るかもしれない。もちろんQRコードタイルも展示するつもりだ。 

来てくれた人にリンゴやパイナップルをボックスに放り込んでもらって、PPAP BOXがどう認識するか試してもらう。そして判定結果を音と画像で大げさに伝える。

これはリンゴです!

Exhibit image at Maker Faire Tokyo 2017

Put a sensor module, a razpai and a tablet.

We arrange a lot of pens, pineapple and apples.

I also wear leopard patterns and sunglasses.

QR code tiles will also be displayed.

 

Ask people who came to bring apple and pineapple into the box and ask them to try recognition.

Transfer judgment exaggeratedly with sound and image.

"This is Pen"

 

f:id:eunoi11:20170501234516j:image

 

PPAP BOXをつくる / パイナップルを買う

English follows Japanese

もしも、近所のスーパマーケットで牛乳や卵と並んで、「半田ごて」が売っていたら驚くだろう。もしかしたらそれはフィリップスが開発した新しい調理器具なのかもしれない。豆腐を美味しそうに焼くことができます!

とある道の駅の農作物販売所で、地元で採れた大根やネギなどの野菜に混じって、3つの大きなパイナップルが売られていた。二度見してしまったが、それはどこからどう見ても、まごうことなくパイナップルだった。日本の田舎にパイナップルという作物が存在するのなら、それはまさにパイナップルだった。

「このパイナップルは、ここで採れたのですか?」

「いや、取り寄せたものだよ。ここではパイナップルはできない」

道の駅で野菜やきのこと一緒に、誰がこんなパイナップルを買うのか疑問に思ったが、もう一度夕方に来たら、残りのパイナップルは1個となっていた。そして自分がこの最後のパイナップルを250円で買い取り、大きな大根と一緒に部屋に連れて帰った。

先週の後半に一生懸命書いた記事がちょっとしたミスで消えてしまったので、PPAP BOXをつくるやる気が少し落ち込んでいた。しかしMakeの神様はこのパイナップルを僕に送り、最後まで作れと言っているようだ。やれやれ。

このパイナップルはPPAP BOXが最初に認識する、記念すべきパイナップルになるだろう。パイナップルの賞味期限が来る前に、PPAP BOXを完成させることができたらいいなと思っている。

 

Making PPAP BOX / Buying Pinapple

If you find a "soldering iron" with milk and eggs in the neighborhood supermarket, you will be suprized. It might be a new cookware developed by Phillips, You can bake Tofu deliciously.

In a certain Michino-eki(rest area with parking), three large pineapples were sold, with locally grown radish, green onions and other vegetables. I saw it twice, but it was pineapple without doubt, no matter how many times I looked at. If there is a crop called pineapple in the countryside in Japan, that was exactly pineapple.

"Did you get this pineapple in this village?"

"No, I ordered it, I can not grow pineapple here."

I wondered who would buy such pineapple, with vegetables and mushrooms at the Michino-Eki, but when I came in the evening the remaining pineapple was one. Then I bought this last pineapple for 250 yen and brought back to the room with a big radish.

The article I wrote so hard last week has gone out with a few mistakes, so the motivation for PPAP BOX project was a bit depressed. But God of Make sends this pineapple to me and seems to say that it can be made until the end. Just great.

This pineapple will be the memorable 1st pineapple recognized by PPAP BOX. I hope I can complete the PPAP BOX before the expiration date of pineapple comes

eunoi11

f:id:eunoi11:20170311111330j:image

 

PPAP BOXをつくる / プログラミングをはじめる

「プログラムは思ったように動かない、書いたように動く」

むかしむかし10年以上も前に、高専出身の友人が私に教えてくれた言葉を今でも覚えている。春から夏に変わり、だんだんと蒸し暑くなってきた頃、エアコンの効いた涼しい部屋でパソコンの画面にポチポチと英語と数字の羅列を打ち込む授業があった。

簡単なコードを打ち込むだけの本当に基礎的な講座だったが、たった一文字でも間違うと先に進めない苦行だった。テレビゲームのスーパーマリオブラザーズに例えると、自分は何度も穴に落ち、敵にぶつかり、やみくもにBダッシュしてみたり、そもそもまともにジャンプができない状況だった。

「これはお約束で書く呪文です」と言われても、いったい何のための呪文なのか理解できず、気持ちが悪くて仕方がなかった。黒いスタート画面が、空と山が見える景色に変わり、リズミカルな音楽とともに、マリオが右に走り始めたところで、「ここでジャンプしてブロックを破壊してください」と先生が指示を出す。そんなブロックなんて、今はどうでもいいからとにかく先に進みたいのに、それは良くない事だと言われる。まずはキノコを取らないとあとで大変なことになりますから。 

周りの人々はさっさと課題を終わらせて教室を去っていくのに、自分は最初のステージすらクリアできなかった。先に進めないイライラから、適当にジャンプをしては敵にぶつかり、穴に落ちるということを延々と繰り返した。

隣に座っていた心優しい友人が、敵の倒し方や、穴の飛び越え方を教えてくれたが、それはまるで宿題をやらせようとする母親のようだった。自分の好きなようにやらせてくれ、もうほっといてくれと心の中では思っていた。 一刻も早く、ひとつも窓の無いエアコンのきいたこの無機質な部屋から出て、お外で遊びたい。

それ以来、自分はプログラミングというゲームがすっかり嫌になり、しばらく距離をおいていた。

ファミコン版のスーパーマリオブラザーズが世に出たのは1985年、それから30年が過ぎた2016年末に、iPhone版のスーパーマリオランがリリースされた。30年前はマリオを操作するのに、十字キーとAボタン、Bボタンの6種類のスイッチを押す必要があった。しかも驚いたことに両手で操作しなければならない。一方で2016年のマリオランでは画面を1か所をほんの少し触るだけでゲームを進めることができるようになった。もちろん片手の親指だけ、もしくはあなたが望む好きな指で遊ぶことができる。

今ならば1面の途中で挫折することなく、ゲームを進める事ができると思う。そういったわけで私はまたプログラミングに挑戦しようとしている。今回はクッパ城までたどり着き、ピーチ姫を助けられたらいいなと思っている。

 

 Making PPAP BOX / Get start programing 

"The program does not run as expected, it runs like it wrote"

Once upon a time, ten years ago, I remember this words. When it turned from spring to summer and it gradually became hot and humid, We entered the popup of English and numbers into the screen of the computer in the coled room.

It was a truly basic course just to type a simple code, but if I make a mistake in one letter, I can not proceed. It looks like Super Mario Brothers, I fell into the hole many times, hit the enemy, I could not jump straight in the first stage.

Even if teacher said "This is a spell written with promise", I could not understand what it was for, I was in a bad mood. The black start screen turns into a landscape with sky and mountain views, and Mario started running to the right with rhythmical music, the teacher instructs "Please jump here and destroy the block". I do not care about such a block.  I'd like to proceed anyway, but it is said to be wrong. First of all it will be a hard job if you do not take mushrooms.

Everyone succeed in clearing the first stage even though they finished the task quickly and left the classroom. From frustrated not to move forward, I jumped properly and hit the enemy and repeatedly ended falling in the hole.

A friendly gentle friend sitting next to me taught us how to defeat the enemy and how to jump over the hole, but it looked like a mother trying to do homework. I thought in my mind that I want to be alone. As soon as possible,I want to get out of an inorganic room without windows.

Since then, I've completely disliked the programming and kept a distance for a while.

The Nintendo version of Super Mario Brothers came into the world in 1985, and 30 years passed in 2016, the Super Mario Run was released for iPhone. Thirty years ago, in order to operate Mario, it was necessary to press the cross key, A and B button. And surprisingly I have to operate with both hands. Meanwhile in 2016 Mario Run, you can proceed with the game just a touch of one place. Of course you can play with one hand's thumb alone or with your favorite finger.

I think that now it is possible to advance the game without frustration beyond the 1st stage. That's why I am planning to challenge programming again. I hope to arrive at Kupa Castle and help Princess Peach.

 

f:id:eunoi11:20170311112907p:plain

 

PPAP BOXをつくる / PythonとGithubのメモ

AnacondaをダウンロードしてPythonをインストールした。

「ゼロから作る Deep learning」1章のコードを打った

足し算と掛け算をして、グラフを書いた。

lenaさんの画像が出力できなかった。

 

Githubアカウントを作成して、チュートリアルを実施した。

リポジトリを作って、プランチを作って、コミットして

プルリクエストして、マージした。

 

megamouthさんのブログで使われている言葉の意味が少しだけ分かった。

葬列に並ぶことができたらいいなと思っている。

 

これからジャングルの奥地に木の枝と藁で飛行場を作る。

 

f:id:eunoi11:20170313172256p:plain

Pythonの世界でまだ君に会えない。

 

 

PPAP BOXをつくる / ディープラーニングの学習

キュウリコンピュータの記事をお手本にPPAP BOXを作ろうと考えているが、もう少しディープラーニングを理解しておきたい。ペンとパイナップルとリンゴを判別するお馬鹿な機械を作ることが目的だが、テクノロジーを深く理解したほうがきっと楽しい。ディープラーニングブラックボックスと言われるけど、全くのブラックより灰色くらいまでは知っておきたい。

まずは評判の良いオライリーの「ゼロから作るDeep learning」を読むことにした。オライリーの本はMakeの会場で売っているのを見たけど、表紙が難しそうなので手を出したことはなかった。今回はPPAP BOXを作るために、覚悟を決めて購入した。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

 

恐る恐る開いてみたが、予想に反してとても読みやすく面白い。前半部分で最も興奮した内容は、パーセプトロンを使えば、重みと閾値を変えるだけで、AND、NAND、ORの論理回路を表現できるということだ。自分の学生時代にNANDゲートの組み合わせだけでコンピュータが作れるということを知ったときも大変驚いたが、今回は思わず声を上げてしまった。勉強って楽しい。

後半部分では誤差逆伝播法が丸と矢印を使った計算グラフでわかりやすく説明されている。もし数式だけだったら挫折していたかもしれない。りんごとみかんの値段を計算するなんて小学生以来だが、この方法はとても役に立つ。

重みの初期設定が重要であることもグラフから視覚的にイメージすることができた。ReLUでは「Heの初期値」がよく学習できるとあった。これは提案者のKaiming Heさんが由来なのだが、どうしてもヘリウムが思い浮かんでしまう。

畳み込みニューラルネットワークについてはkaekenさんの記事にアニメーションが載っていたので参考にさせてもらった。特徴量を抽出する 事はフィルターの重みを求めるということが分かった。

PPAP BOXでは画像データだけでなく、重量や音、温度や匂いなど出来る限り多くの情報を入力させたいので、これらのデータ構造をどう学習させるかが鍵になりそうだ。全て画像データのように処理するのもありかもしれない。床に圧力センサを4×4配置して画像と同じ0-255の値に変換するとか・・もしくは画像データを64×63として、1×64個のセンサ情報を付け足して64×64の画像として処理するか・・ペンとパイナップルとリンゴを識別するのに必要な解像度とセンサの数を考えて決めていこうと思う。カラーにすれば少ない解像度でも十分認識できそうな気がする。

人工知能は人間を超えるか」では自己符号化器(オートエンコーダ)が重要なトピックとして書かれていたが、「ゼロからつくるDeep learning」では触れられていなかった。調べてみると、ディープラーニングアルゴリズムが改良されたので、オートエンコーダを使って事前学習しなくても、十分な精度が出せるようになっているらしい。この業界が日進月歩であることを感じさせる。*1

この本の中で、理解につまずいてWEBで調べた事を下に示す。自分はプログラミングの経験が無いので基本的なところが引っかかってしまった。初心者はこんなところにひっかかるということを知ってもらえたらよい。

 

タプルの意味

要素が1つのタプルがシングル、要素が2つのタプルがダブル、要素が3つのタプルがトリプル・・・

 

Numpyのshapeとndim の違い

Shapeは、たて3cm、よこ4cm、高さ5cmだよって教えてくれる。ndimはたて、よこ、たかさの3次元あるよって教えてくれる。

 

ドット積

内積のこと A・Bの「・」が点、ドットだから dot product

 

Pythonでのreturnの意味

数字を入れ終わったということ。関数の戻り値を指定する、と言われても戻り値の意味が分からなかった。教えてgooに載っていた、花子の飴と太郎のチョコの例え話で理解することができた。戻り値(Return value)とReturnがつながった。

 

恒等関数

f(x) = x のこと。英語だとidentity function 。identityから恒等と訳されたのか、恒等という言葉は日本に昔からあったのか・・後で調べてみよう。

 

フォルダとディレクトリの違い

だいたい同じ、厳密には違う。ディレクトリという言葉に慣れていない。

 

Pythonでのバックスラッシュの意味

長い行を折り返す。本当は1行で書きたいが、横幅が広くなりすぎるとき、段を分けるために使う。

 

インスタンス変数

調べてもよく分からなかった。 きっとコードを打っていくうちにわかるだろう・・

 

確率的勾配降下法(stochastic gradient descent)の"stochastic"の意味

ギリシャ語の「ねらう」から来ているらしい。Probability と stochasticで調べたら痛風財団さんのコラムがヒットした。「痛風財団」という文字力に圧倒されて、はじめはネタサイトかと思ったが、厚生省の認可を受けた痛風研究に関する団体のようだ。まだProbability、stochastic, randomの違いがしっかりと理解できていないが、理事長通信がとても興味深かった。

第112号 深い学習、深い思考、深い理解 | 公益財団法人 痛風財団

 

Pythonはまだインストールしていないので、一旦最後まで読み終わったらコードを叩きながら復習していこうと思う。それにしても表紙の魚は何という種類だろうか。魚のうろこがニューラルネットワークに見えてくる。

f:id:eunoi11:20170223230843j:image

 

 

*1:人工知能は人間を超えるか」は2015年3月10日初版、「ゼロから作るDeep learning」は2016年9月28日初版。

PPAP BOXをつくる / やることリストを作る

あらかじめ電車やバスの時間を調べ、分刻みのスケジュールを作ってから旅に出るよりも、まずは行き先を決めて家を出発し、目的地の観光案内所や道の駅で情報を集めて、訪れる場所を決める旅が好きだ。その日の天気やイベントに合わせて柔軟に回る場所を決められるし、地元の人にオススメのスポットを聞くのは楽しい。声をかけて怪しまれることもあるけど・・

PPAP BOXづくりでもやるべき事を細かく決めてから始めるより、とにかく手を動かして臨機応変に進めていこうと思う。とはいっても、やみくもに部品を買ったけど、うまく接続できなくて、別のパーツを買い直すはめになったら、お金がもったいない。(そんなときは、いつか役に立つ日が来ると思って、間違えて買ってしまった部品を棚にそっとしまう。) 

まずはキュウリコンピュータの記事を参考にやることを書き出してみた。順番は前後するだろうし、やることはもっと増えるだろうが、とにかく始めてみようと思う。

PPAP BOXをつくるためにやること

1. ディープラーニングについてより深く学ぶ

「ゼロから作るDeep leaning」 を読む

 

2. 開発環境を整える

 Tensor Flow のインストール
 wxPythonのインストール
 Raspberry Piの開発ソフトインストール

 

3. ハードウェアを買う

 Raspberry Piの購入
センサ類の購入
その他必要部品の購入

 

4. 設計と製作

センサ類のセットアップ
学習用データをとる
ニューラルネットワークアルゴリズムを決める
データ量、計算量などから学習仕様をきめていく

 

5. デモの準備

やっていることを視覚的、感覚的に見た人が実感できるようにする

PPAP BOXづくりの旅が天気に恵まれて、よい地元の人に会えるといいなと思っている。

 

f:id:eunoi11:20170223232136j:image

PPAP BOXをつくる / 目標を決める

目標を決めて一歩づつ山に登るよりも、そのときの風や流れに合わせて波に乗っていくような進め方が好きだ。締め切りを決めるのは気が進まないけど、今回は完成時期を決めてPPAP BOXをつくってみようと思う。

毎年夏にMaker Faire Tokyo (MFTまたはMake)というイベントが開催されている。これは電子工作などが趣味の人たちのお祭りで、雰囲気はコミケ(同人誌の即売会)の理系版といった感じだ。テクノロジーが好きな人々が、自分で作ったプロダクトを見せ合って交流する。ものづくりに興味のある一般の人でも作品を見たり、ワークショップに参加することができる。

自分は過去に友人と出展したことがあり、とても良い思い出になっている。大変なこともあったけど・・今年のMaker Faireは8月上旬に開催されるので、今回製作するPPAP BOXをこのMakeでお披露目することを目標に、6ヶ月で製作しようと思う。出展者募集は4月上旬から5月上旬にかけて行われるので、その時期までにはある程度動くようにしておきたい。出展は基本的に無料だけど、運営側による審査があるので、応募の時に面白さをアピールできないと当選は難しい。なんとか頑張ってみようと思う。

お手本とするキュウリ判別コンピュータは2016年のMaker Faireに出展している。

波に乗るように山に登れたらいいなと思っている。いい風が吹きますように。

f:id:eunoi11:20170226115726j:image

 

 

PPAP BOXをつくる / 完成イメージ

自分はこれまでプログラムを書いたことはほとんど無いし、Raspberryも持っていない。DMM.Make AKIBAのワークショップに参加して、Arudionoを使った距離センサを作ったことはあるけど、完成後はほとんど動かしていない。それでもなんとなくPPAP BOXを作れるような気がしている。ディープラーニングやRaspberryの情報はWEBにたくさんあるようだし、とにかく手を動かしてみたら何か見えてくるだろう。できるかできないかではなくて、やりたいかやりたくないかで動けるのが個人プロジェクトのいいところだと思う。やる気がなくなったらやめたらいいし、始めるのも止めるのも自分の自由だ。

まずは完成イメージを書き出してみた。

f:id:eunoi11:20170221221013p:plain

上の図:いくつかのセンサをラズベリーパイに接続して、認識した結果をディスプレイに表示させる。

下の図:センサの入力信号をディープラーニングで処理してペン、パイナップル、リンゴの3つの信号を出力する。

右の図:箱の大きさはクーラーボックス程度にすれば持ち運びしやすく、果物も傷みにくい。

 

このプロダクトは全く役に立たないものだ。ペンとパイナップルとリンゴをわざわざ機械で識別しなくても、人は見ただけでそれがペンなのか、リンゴなのか分かる。それでもこのマシンを作ることを通して、ディープラーニングとはいったい何なのか理解したい。そして人がモノをどのように認識しているのかを考えていきたい。役に立たないけれど面白いモノが作れたらいいなと思っている。

 

PPAP Boxをつくる / きっかけ

人工知能ディープラーニングといった言葉をよく聞く。囲碁や将棋でコンピュータが人間に勝利したとか、人間の仕事が人工知能に奪われるとか。けれど、そもそもこの人工知能がなんなのかさっぱり分からない。そこで下記2冊の本を読んでみた。

人工知能は人間を超えるか (角川EPUB選書)
 

 「人工知能は人間を超えるか」を読んで、近年騒がれているディープラーニングとは何かイメージをつかむことができた。コンピュータの知識が無い人でも、スムーズに読むことができるように書かれている。日本全国の天気を予想する例えがとてもわかり易かった。この本を読んで、数年前に友人が画像認識の世界で凄いことが起こったって興奮していたのを思い出した。きっと2012年の世界的な画像認識のコンペILSVRCでSuper Visionが圧勝した事を言っていたのだろう。

はじめての人工知能 Excelで体験しながら学ぶAI

はじめての人工知能 Excelで体験しながら学ぶAI

 

 「はじめての人工知能 Excelで体験しながら学ぶAI」を読み、サンプルシートをダウンロードして遊ぶことで、パーセプトロンやホップフィールドネットによる文字認識の流れを実感することができた。行列そのものを目で追えることがExcelのいいところだと思う。

この2冊で人工知能ディープラーニングのイメージはつかめたが、本当に理解するには自分で手を動かす必要があると感じていた時、書店でこの本と出会い衝撃を受けた。 

Interface(インターフェース) 2017年 03 月号

Interface(インターフェース) 2017年 03 月号

 

 これまで農家の方が手作業で行っていたキュウリの選別を、Google人工知能Raspberry Piを使って、自動化したシステムが紹介されていた。さっそくこの本買って読むと、自分も同じようなシステムを作りたくなって妄想が止まらなくなり、その晩は一睡もできなかった。ディープラーニングを使って何かを認識させるシステムを作りたい。キュウリじゃなくて何がいいだろうか・・もっと身近で世界中の人が知っているモノ・・ペンとかリンゴとか・・その瞬間、2016年後半に大流行したミュージックビデオが思い浮かんだ。ピコ太郎さんのPPAP、Pen-Pinapple-Apple-Penである。その日からペンとパイナップルとアップルを認識する箱、PPAP BOXを作ることにとりつかれてしまった。

 

f:id:eunoi11:20170221224622j:image

ブログをつくる / タイトルを決める

ブログを始めるにあたって、自分が昔から使っているアカウントを検索してみた。するといろいろなモノと作ったときに、テンションが上がってTwitterにアップしていた画像がたくさん出てきた。自分は何かを作って遊んでいる事が楽しいのだとあらためて分かった。

Make:というテクノロジー系DIY工作の雑誌が昔から好きである。好きすぎてMake:の真似をした冊子を作り、イベントで配ったこともある。ブログの文体もMake:のように書けたらいいなと思っている。そこで”Make”や”作る”をブログのタイトルに使おうと思った。

 

タイトル候補

英語

Make again:友人のアカウントを参考。アメリカ大統領の発言が多くヒットする。

Make awesame:アート系の会社がある

Make make:イースター島の神様で準惑星の名前になっているが語感がしっくりこない

 

日本語

つくってみた:面白法人カヤックのつくってみたラボというWEBサイトがあった

つくってみる:NHKの番組に関係している

楽しいは作れる:いろいろな人がブログで使っている

 

面白いものを作るという意味でMake funがいいんじゃないかと調べてみたら、”make fun of "で「からかう」と言う意味があるらしい。同じ「からかう」と言う意味の”tease"よりもネガティブなイメージがあるようだ。Google翻訳を使ってみると、

I can make fun →私は楽しむことができます

楽しいは作れる→I can make fun

となるので、make funでいいと思った。テクノロジーをからかって遊ぶという意味も込められそうだ。そういったわけでブログのタイトルをMake funとした。Makeのファンみたいだけと、ファンクラブのファンはfanaticのfanだ。まぁ自分はMakeのファンでもある。funの頭文字を大文字にするか小文字にするかFunとfunで迷ったけど、文字感からfunを選んだ。

f:id:eunoi11:20170220154920p:plain