tottu22 エンジニアブログ

tottu22’s blog

エンジニアの日常をつづっていきます

Makeblock mBotがうちにやってきた

我が家ではプログラミングを子供に教えるために、scratchをやらせています。

そのscratchをラップしたプログラミング環境でMakeblockというものがあり、mBotというロボットを同じプログラミングのやり方で操作することができます。

 

 

Makeblock プログラミングロボット mBot 日本語版 【日本正規代理店品】 99095

Makeblock プログラミングロボット mBot 日本語版 【日本正規代理店品】 99095

 

 

グラフィカルプログラミングは小さい子供にもわかりやすく、一つ一つの命令がブロックになっていて、それをマウスでドラッグアンドドロップをするだけで、好きなような動きの流れを作ることができます。

早めに取り組むと今後プログラミングの授業に対応がしやすくなるはずと思い、祖父からのクリスマスプレゼントということでいただきました。

f:id:tottu22:20171210214449j:plain

 

ロボットにはセンサーがいくつかついており、基盤となるが、Arduinoというラズパイみたいなマイコンになります。その辺はあまり意識しなくて良いと思うのですが、大人としては、へぇーという感じですよね。

 

f:id:tottu22:20171210214521j:plain

 

梱包されている中身は、リモコン、タイヤ、電池、各種センサーとなっています。細かなネジは、同梱されているドライバを使って部品を繋げていきます。

そのため、ある程度の学年でないとこの辺は難しそうなので保護者の方が一緒にやる必要がありますね。

 

f:id:tottu22:20171210214557j:plain

それからロボットが走るコースが入っています。白と黒を見分けるセンサーがデフォルトでロボットに付属されているので、それが白黒を判別してプログラミングによってコースを走るというのがあります。

f:id:tottu22:20171210214700j:plain

 

デフォルトと言っているのは、このロボットはオプションで、後から拡張キットで装備を増やすことができます。

 

 

 

とりあえず今日は1時間ほど子供と一緒にロボットを組み立てることころまでやり、iPhoneアプリのMakeblockをダウンロードして、ロボットと連携させてスマホから操作できるところまで確認しました。

f:id:tottu22:20171210214805j:plain

 

ライントレースもできています。ここまでできると子供も実際に動いたものが見えるので、実感が湧いてくるようでさっそくロボットに名前をつけていました。

 

f:id:tottu22:20171210214946j:plain

明日以降プログラミング環境で何か処理を書いていこうと思います。scratchで少しプログラミングに慣れてきてるので、どこまでできるか楽しみです。

Couseraがスマホアプリで出てたー

オンライン教育

C機械学習を学ぶ時によく初学者は、Couseraで「Machine  Learning」というスタンフォード大学の講義が無料で受講できるので、それを見たほうがいいよと薦められると思います。

 

Couseraとは

コーセラ(英名:Coursera)は、スタンフォード大学コンピュータサイエンス教授Andrew NgDaphne Kollerによって創立された教育技術の営利団体である。世界中の多くの大学と協力し、それらの大学のコースのいくつかを無償でオンライン上に提供している。2012年11月の時点で196カ国から1,900,241人もの生徒が一つ以上の授業に登録をした。 

 

Coursera | Online Courses From Top Universities. Join for Free

 

アンドリュー・エン先生はすごく優しい口調で数学を教えてくれるので、とても良いです。

 

実際に体験した方のこちらの記事も面白いです。

修了証というのがもらえるみたいです。

qiita.com

 

私も途中まで受けていてたのですが、忙しい時期に重なってしまったタイミングで受講が途絶えてしまいました。

 

最近はudemyの講習を何個か買って受けています。数学的なところをもっと知りたくなり、そういえば受け途中だったCouseraを受けたくなり、調べていたら、

 

なんと、、iOSアプリでcouseraがあるじゃないですか!

 

 

ダウンロードして、ちゃんと「machine learning」があるのか確認してみたら、しっかりありました。

 

まだ最初のイントロダクションしかアプリで確認してないのですが、進捗とかがアプリでわかりやすく管理できそうな感じです。

 

 アプリはこんな感じ

授業は英語で進みます。PCのブラウザで見ていた時は画像の上に翻訳がでていたと記憶しています。スマホで見ると、こんな感じで、話しているタイミングでハイライトされます。縦向きで見ないと、字幕は出せないようです。残念。

 

f:id:tottu22:20171208214358p:plain

 

スマホで見れるようになるとだいぶ時間をうまく活用できますね。通勤の電車の中で見ようと思います。

数学で眠くならないといいけど 笑

 

AWS lambdaを使ってslackへpostしてみた

Lambdaを使ってみよう

AWS lambdaを使えばEC2などの従量課金制のサーバを立ち上げとくことなく、定刻で何か処理をしたいという時に役立ちます。

f:id:tottu22:20171207194740j:plain

 

これぞ、サーバレス!

 

いまサーバレスをいくつか取り入れてるのが、

 

あまり常時起動しといても意味ないサーバとかを定刻になったら起動、停止をしてサーバ代節約してたり

バックアップを夜間に行うためにスケジュール起動させて、スナップショットを取っていたり

定刻とかではありませんが、

 

チャットボットのレスポンスに使ってみる

 

などをこれまでにやってみました。

 

ふと思い出したのですが、すごく身近に役立つものがあったんです。

 

お昼の時間に食べるお弁当をWEBで毎朝注文して、お昼にお弁当屋さんがお弁当を届けてくれるというものがあり、

よく忘れるんですよね、注文を。。。注文忘れると安いお昼で済ますことができなくなり、外で少し高い昼食をとることになります。

サラリーマンにとっては死活問題です😱

 

そこで、slackにお弁当の注文するように定刻にWEBのURLをつけて送れば、ちょっとは防止できると考えて、サーバレスでお金をかけずに、slackに通知させる仕組みを作りました。

 

slackにpostされるまでの手順 

  1. AWS Cloud Watch Event でcronを設定して、
  2. AWS lambdaの関数が呼ばれて、
  3. 関数でかかれているslackpostで通知

という流れです。

 

細かい技術的なことはqiita に記事を書いといたのでそちらを見ていただければと思います。

 

qiita.com

 

タイマーとかをスマホで設定しとけばいいじゃんと言われてしまえば、そこまでなんですけど、ゆくゆくはサイトをlambdaでスクレイピングして、今日のお弁当の画像を表示させたり、チャットベースでそのまま注文ができればいいなと思っています。

Deep Learning Lab 第6回目に参加してきました

今日はマイクロソフトで開催されたdeep learning labに参加してきました。

dllab.connpass.com

 

機械学習の案件を受注する際に注意しておくべき点がすごく理解できる内容でした。

実際に登壇されている企業はまだ機械学習が今ほど騒がれていない時期から取り組まれていて、今のAIブームで軌道に乗ってきているといった感じがします。

 

これから、人工知能界隈のビジネスはどんどん盛んになっていくと思われますが、

やはり先行投資しているこうした企業が持つノウハウは、後発企業にとってはとても貴重な情報となり、今回のセミナーもすごく有難い内容でした。

 

f:id:tottu22:20171206232259j:plain

 

どういうところにコストがかかるのか、客先への成果物はどのようなものにするのかしっかり定義してから、見積る必要があるかなど。

最近キカガクの吉崎さんも同じような記事をそういえばqiitaにあげていましたよね。

qiita.com

 

そのほか気をつけるべきところとして、以下のようなことがあげられていました。

  • どのくらいの精度が必要か
  • どのくらいの速度が必要か
  • 学習データは十分あるか
  • 追加学習は必要か
  • 機械学習によらない手法はないか
  • 誰がどのようにデータを集めるか
  • 学習データの権利ほ誰が持つか

 

たしかに良質なデータが十分な量ない場合、学習させることができず、要件を満たすことができません。

その時点で案件として成り立たないので、最初のヒアリングでしっかりと前提条件を確認しておくことが重要です。

 

それから、費用対効果に見合うかどうかと、

AIを使う必要がない可能性もあるということもよく言われる話で

今回も含まれていました。機械学習の手法もたくさんあるので、

要件によって手法を変えて試す必要があります。

f:id:tottu22:20171206234937j:plain

コストで元が取れるかも重要ですが、やはりマーケティングにあたる話題性というのが今は大きい気がします。AIを取り入れてるからという理由で注目度があがると考えている企業は多いと思います。

でも、それも今のうちだけな気もしますよね、そのうちAIなんて当たり前となると

コストの部分を考える比率がほとんどになるでしょう。

 

今回は4企業からの講義があり、

f:id:tottu22:20171206233602j:plain

マイクロソフトさんの取組で勉強になった内容がありました。

Azure Data Science VMという素晴らしいVMがあるそうで、プリインストールで機械学習がすぐにできる環境が無料で用意されてるとのこと。インスタンス代のみで、自分でいちから色々準備する必要がないそうです。

普段chainerはあまり使わないのですが、こちらはもともと入っていて、簡単にはじめられて便利そうだからやってみようという気になりますね。

 

f:id:tottu22:20171206234220j:plain

 

VS codeでも何か拡張機能があるようで、Azure に簡単にデプロイできるようになるとかなのかな、ちょっと気になるので、明日あたり触ってみようと思います。

 

最後に気になったのが、Po Cのためにマイクロソフトさんがクラウド利用料を、負担してくれるというもの。ただし、条件はいくつかあるのですが、、、chainerつかわなきゃいけなかったり、継続利用することというものがあり、悩みますね。

 

今回のDeep Learning  Lab もすごくよかったです。他のAI系セミナーと、比較しても質がいいと思います。次回も楽しみです。

 

 

 

スマートロックを家に設置してみた

めざせスマートホーム

 

家を少しIoT化していこうと思っていたので、まず最初は、スマホで遠隔で鍵の開け閉めが出来るakerunをつけたいなーということで購入しました!

 

 

Qrio Smart Lock

 

 

 

家の鍵をいつもカバンから出して、私の場合はキーケースに入れてるため、キーケースを開けてと、割と面倒に感じてたんです。

 

家を新築したタイミングで、もともとそういうのを備え付けているドアにすればよかったのですが、時既に遅し。もっと早くに気づけばよかった。

 

ということで、普通のドアの鍵に、カポッとハメるだけで、スマホから鍵の開け閉めができるこれを購入したわけです。

 

Amazonで購入したので、実物は届くまでわかりませんでした。実際手に取ってみると、かなりの重厚感。※大きさもそこそこあるので、これから購入される方は、事前に家の扉にちゃんとハマるかどうかチェックしておいた方がよいです

f:id:tottu22:20171205180758j:plain

 

説明書を見て初めて知ったのが、本製品は縦向きだけでなく、横向きでもつけれられるということ。ちょっと安心しました。

縦でも大丈夫だろうーと思って、購入したものの、届いたものをドアに当ててみたら、ドアの内鍵部分がギリギリで横でもいいかなという感じでした。

 

実はこれをドアにつけるのは、付属の両面テープになります。両面テープがもしかしたら横向きにすると耐えられなくなったら嫌だなと思い、最終的には縦向きにつけました。

 

鍵のサムターン部分も、サイズがSMLの三種類のアダプタがもともと付属されてくるので、だいたいの鍵が対応できると思います。高さ調節する底上げ部品みたいなのもついているので、安心です。

 

手順は簡単で、

  1. qrioスマホアプリをインストール
  2. 認証キーを払い出し
  3. 取り付けるドアのサムターン部分にあうようにパーツを選んで
  4. ドアに両面テープで取り付け
  5. Bluetoothスマホと連携させて鍵の開け閉め確認

でおしまいです。

 

キーのシェアもできるので、家族にシェアしました。

キーは有効期限も設定できるので、一時的な来客にも対応できます。Airbnbとかでも使ってるみたいですね。たしかに便利!

 

そのほかオートロック機能、2デバイス取り付けた場合の同時開け機能、手ぶらロック解除機能などもついています。

Qrio HubというWiFi接続するハブを別途購入すると、インターネット越しで鍵の開け閉めができます。鍵の閉め忘れを外出先から確認して、閉めることができます。

 

 

 

さらにAmazonEchoとの接続もできるようなので、音声認識で鍵の開け閉めもできそうです。

 

f:id:tottu22:20171205180906j:plain

 

ここまでやれたら、すごく快適ですね。

AmazonEchoは購入予定なので、QrioHubも買おうかな~。

 

 

 

 

 

 

トランスコスモス AIセミナーに参加してきました

トランスコスモス社さんが開催するAIに関するセミナーに参加してきました。

AI・機械学習 の最前線を「体感」する金融・通信・通販などの会員ビジネスにおける新規獲得・解約防止のためのビッグデータ活用術(東京)

 

トランスコスモスさんといえば、最近俳優の山田孝之を役員に迎えて会社を立てたというので話題になりましたね。

www.google.co.jp

 

その他にもサッカーJ2でみごと今シーズンリーグ準優勝で自動昇格を決めたV・ファーレン長崎のホームスタジアムのトランスコスモススタジアムでも有名です。

 

コールセンター業が主体となっているトランスコスモスさんですが、実は最近、AIにも力を入れ始めたようで、何となく気になっていました。

 

たまたま今回ご縁があり、セミナーをご紹介頂けたので参加してきました。

 

さて、今回の内容ですが、当社が代理店で扱っているDataRobotの製品紹介とそれを有効に使うためのDMP(データ管理プラットフォームの略)のDECodeの説明でした。

www.datarobot.com

 

 

www.trans-cosmos.co.jp

本セミナーは写真撮影が禁止されていたので、スライドの写メが撮れないのが残念ですが、後日スライドが公開されるとのことです。

 

DataRobotは、クラウド版とオンプレ版があるデータ解析ツールで、同様なものはいくつか既に見てきました。クロスコンパス社が出しているM-IXがすごく近いと感じました。

www.xcompass.com

現時点ではM-IXよりだいぶ完成されているという印象です。日本の会社も頑張ってほしいです。

 

以前人工知能EXPOがビッグサイトで開催された時に少しだけ、新日鉄住金ソリューションズのブースでDataRobotは見たのですが、その時よりわかりやすくなっていました。

 

データをアップロードして、自動的にカテゴリ項目か、数値系項目か判別されて、いくつかのアルゴリズムで学習を並列でやってくれます。

データはローカルのファイルだけでなく、直接ODBCで接続することももちろん可能です。

 

並列でやった結果のうち精度の高いものを選ぶのですが、アンサンブル学習のようなこともそこからできるとのこと。素晴らしい。

 

出来上がったモデルは、ボタンのクリックだけでWEBAPIとしての公開も簡単にできてしまい、pythonでの呼び出しのコードもアクセスキーが書かれた状態で用意されているので、それをそのまますぐに使うだけでいけそうです。

 

またデータの可視化も、ほかのBIツールとの連携も可能とのことで、色々なクラウドサービスとも連携を今後増やしていくことを予定しているそうです。

 

とても便利なDataRobotですが、お値段が結構するんですよね。まだ詳細な案内は受けてませんが。ちゃんと使いこなせれば、それだけの価値はあるものだと感じますので、もう少し検討してみたいと思います。

AWS S3にpythonからファイルアップロードを早朝からやりたくなって

はやく起きた朝は

朝4時に目が覚めまして、昨日は土曜日で子供のサッカーの試合があって、ほとんどエンジニア的な活動ができなく、何かやらなきゃなと

 

モヤモヤしていたら、朝4時に目が覚めてしまったので、

 

よし今から1時間くらいでパッとできることやってみようと思い、Qiitaの記事を書きました。

やった内容は、pepper が見た画像を何かのクラウドストレージにタグづけしてアップロードしとくと、何か役に立つだろうと(本当に使えるかどうかは別として、、そもそも顔認証は特徴だけが管理されているというのがプライバシーを気にしなくてよいというメリットがあるのですが、変な学習されてもゴミとなるので、あとで消せるというメリットもあるはず)

f:id:tottu22:20171203084619j:plain

 

さっそくやってみるが、準備不足でエラー

自分のMacbookPythonでboto3を使ってアップロードをしてみると、、

あれ?credentialのエラーが起きる。。

家の端末では、これまでAWSへの操作をやっていなかったらしくawscliすらインストールされてませんでした。

 

おお、まさかここから設定しなきゃいけないとは、

 

でも1時間くらいで終わるでしょ

 

ということで、

pip install awscli からはじまり、credentialを設定して、boto3を使ってファイルアップロードまでをQiitaに簡単にまとめときました。

 

qiita.com

 

Credentialは面倒

aws のcredentialって、AWSコンソールからだとAccess Tokenしか見えなくて、secret keyが初回しか見えなくなって、初回見逃してダウンロードし忘れたら、また払い出すという仕様がどうも好きになれません。

まあ、基本credentialの共有はしないものみたいだし、定期的に変えるのが理想みたいなので、その仕様が一番セキュリティ的には良いと思うのですが、

いろんな端末からawsコマンドを使ったりするので、前のやつを消して新しいのを払い出すと前のがもう使えなくなって、再度設定しなおしって面倒ですよね。

 

まあ、でも不正利用されたら困りますので、我慢します。

IAMをもっとうまく使いこなせるようになりたいです。

 

あとはpepperにいれるだけ

pepperはpepperで面倒で、pepperでpythonライブラリをいれるのは、ライブラリのフォルダーをアップロードしなきゃいけないこと。watsonもconversationをwatson-cloud-developerを使うために、ライブラリをアップロードしました。

boto3 もいれなきゃですね。