数値解析系

2020年3月24日 (火)

子供の科学 4月号にて「Scratchで機械学習」

大人なのに買ってしまいました「子供の科学」。

もっとも、うちには小学生が一匹いるので、別におかしくはないんですか。

Img_3884_20200323125001

はい、これです。この表紙を見れば、買わずにはおられません。

Img_3885

特に、この辺りです。「あらわる!空からの刺客」……ではありません。「Scratchで機械学習」の方です。

この手の特集のタイトルは、たいてい「AI」で済ませてしまうものですが、さすがは科学雑誌です、しっかり「機械学習」と明記しているところに好感です。子供向けだからこそ、曖昧な用語ではなく正しい言葉を用いようというこの雑誌の姿勢が素晴らしいです。

さて、商用誌なのであまり込み入った紹介はできません。詳細はお買い上げください。

Img_3887

まず、使用言語は「Scratch」です。もっとも、ただのScratchではなくて、機械学習用の改造版Scratchを呼び出します。

Ml2s01

で、私も早速、試してみることに。ここから雑誌の内容に従ってごにょごにょすると、機械学習版Scratchが呼び出せます。

Img_3891

で、その機械学習版Scratchですが、PC内蔵のWebカメラなどを使い、画像の学習を行います。

Ml2s02

私もやってみました。雑誌とは違って、グー、チョキ、パーをそれぞれ20枚づつ学習させます。

で、学習後に、カメラの前で実際にグー、チョキ、パーをかざしてみます。

Ml2s04

Ml2s06

Ml2s05

「パー」が1、「チョキ」が2、「グー」を3のラベルとして認識させました。

20枚ですが、かなり正確に学習できていることを確認。

Img_3888

この学習器を使って、あとはScratchのプログラムを組みます。

この雑誌では、上のようにPongゲームをプログラミングしてました。

で、ジェスチャーを学習した学習器を使い、手によるジェスチャー操作をするというゲームを作成。

たったそれだけの特集でしたが、画像認識というものを理解するには良い記事ではないかと。

裏ではTensorFlowが動いているようですね。しかし、今どきのPCなら問題なく動作してくれます。

新型コロナウイルスによっていつもより長い春休みを、子供と共に機械学習で過ごしてみませんか?

お値段は880円(税込み)です。

子供の科学 2020年 4月号 特大号 別冊付録付 [雑誌]

2020年3月16日 (月)

自宅PCを使って新型コロナウイルスの解析に貢献!?

いわゆる分散コンピューティングってやつです。自分のPCの計算能力を提供し、様々な解析に参加できる「Folding@home」に、新型コロナウイルスに関する解析項目が登録されたそうです。

自宅のPCで新型コロナウイルス治療に向けた解析が可能に - PC Watch

COVID-19に関し、6種類の解析が登録されているようです。当初はGPUのみでしたが、今はCPU、GPU共に利用可能とのこと。

私は、ちょっとこの分散コンピューティングによる成果がどう使われるかが不明瞭なため、参加する予定はありません。

が、この手の分散コンピューティングは、計算能力のアピールにも使われるので、腕、いや、CPU/GPUに覚えのある方は、参加するのもよろしいかと。


AMD Ryzen Threadripper 3990X 2.9GHz 64コア / 128スレッド 288MB 280W【国内正規代理店品】100-100000163WOF

2020年2月26日 (水)

京都大学のPython基礎講座教材

京都大学で行われる、あらゆるPython授業に先立って行われる講座です。

Kyoto University Research Information Repository: プログラミング演習 Python 2019

その名も、「プログラミング講座Python 2019」です。

京都大学というだけあって、思わず引いてしまいそうですが、中身はそれほど難しいというわけではありません。

よくあるコマンドごとの解説というより、計算や処理、関数による処理、そして実践事例という順で解説しています。

Pythonって、標準の機能よりもimportで関数を読み込んで使うという使い方が最も多いので、この教材のやり方の方がより現実的かなぁと思いますね。

ところでこの教材は「CC-BY-NC-NDライセンスによって許諾」と書かれています。

簡単に言うと、再配布可能、改ざん不可のようです。

個人的には、参考になる教材ではないかと思いますね。特に機械学習をやろうという人には向いているかと。

Excel×Python最速仕事術

2020年2月14日 (金)

SONY Neural Network Consoleを使って故障予測AIを無料で作る!?

なんていう無料体験サービスを、Neural Network Console Cloudが紹介しています。

Neural Network Console Cloudのご紹介

上のリンクから、SONYまたはGoogleアカウントでログインすると、この無料体験サービスを使うことができるようです。

で、ドキュメントがあったので、ちょっと読んでみました。

時系列データの異常波形を検知する、というのが目的で、サンプルデータはsin波にノイズを加えたもののようです。

で、Affine層だけ使ったものと、Convolution層を用いたものの両方が解説されてました。

ただ、Convolution層は1次元ではなく、2次元のものを無理やり(波形データを(1,128)のような2次元配列に変換して)読み込ませてました。

でも、需要ありますからね、時系列データからの異常検知。このテーマを取り上げたのは、正解だと思います。ニューラルネットワークというと、ほぼ画像認識ですから。

ですが、時系列処理でよく使われるRNN(LSTM)は使われてませんね。

これはおそらくですが、このNeural Network ConsoleのモデルをPython上で使うためのライブラリ「nnabla」が、LSTMをサポートしていないからじゃないでしょうか?

このドキュメントをみると、Neural Network Console上で作ったモデルを利用するPythonコードの作り方まで書かれてます。実際の活用まで想定したこのテーマ。これはなかなか良い教材ですね。

お手軽に異常検知を試してみたいとお考えの方、是非このサイトをご覧下さい。


ソニー開発のNeural Network Console入門【増補改訂・クラウド対応版】--数式なし、コーディングなしのディープラーニング

2020年1月29日 (水)

SONYのディープラーニング講座チャンネル

さあ、今年こそディープラーニングやるぞ!

……とは言ってみたものの、一体何から始めたらいいのやらさっぱり分からないというお方。

G検定なるものもありますが、とりあえず、これから始めてはいかがでしょうか?

SONY Neural Network Consoleの公式チャンネルが提供する、ディープラーニング講座の動画です。

ちょっと見てみましたが、上に張り付けた導入編の動画は特にわかりやすいですね。ぜひ、多くの人に見てもらいたい動画です。

Neural Network Consoleの公式チャンネルなので、Neural Network Consoleを使っての講義になるようですが、それでも一から学ぶには適切な難易度ではないかと思います。

世の中、ビッグデータ技術、機械学習、果てはAIといったものが多く入り込んできています。

この分野、日本が遅れているという実態もありますが、そういうネガティブな理由ではなく、こういう技術を使うと自身の業務が画期的に改善される、という視点で取り掛かる方がずっとポジティブに、前向きに取り組めるかと思います。私は最近、そう考えることにしてますね。

興味はあるけど、数学やらプログラミングやらの壁で断念していた人は、ぜひ。


なっとく!ディープラーニング

2020年1月25日 (土)

ベイズ推定とは?

私が目にした中で、一番分かりやすいベイズ推定の説明です。

具体例でわかる!ベイズ推定とベイズの定理 - 世界一暇なデータサイエンティスト

これのおかげで、やっと「条件付確率」の記号を見てすっと理解できるようになりました。

やはりというか、具体例と共に説明すると、分かりやすいですね。もっとも、なぜ「出会い系」なのか……という声はあるでしょうけど(いや、でもおかげで分かりやすいというのも事実)。

最近は機械学習が大流行りで、その流れで「ベイズ統計とはなんぞや!?」と苦しんでいる方が大勢いらっしゃると思います。ここは一からじっくり読んでいただきたいサイトです。

ですが、当然これだけで「ベイズ」とは何たるかがすべてわかるわけではありません。1万歩の道のりの、ほんの一歩にすぎません。ですが、入り口としては最適なサイトではないかと。


データ解析のための統計モデリング入門――一般化線形モデル・階層ベイズモデル・MCMC (確率と情報の科学)

2020年1月22日 (水)

Googleの「PoseNet」を試してみた

人の骨格を推定して棒人間を表示するという「OpenPose」という仕組みがあります。

OpenPose試してみた。〜ディープラニングで人のポーズを解析

ごらんの通り、人の姿勢まで把握できるとあって、一時期話題になりました。

が、このOpenPoseの会社での利用には問題がありまして。

企業などで利用する際は、年280万円ほど払わなくてはならない、商用のスポーツへの活用は禁止…などの制約があります。

特にお金の話は、何に使えるかどうかわからない状態ではちょっと高過ぎです。というわけで、この手の仕組みを活用できずにいたのですが。

いつの間にか、Googleが「PoseNet」というのを公開しておりました。

tfjs-models/posenet at master · tensorflow/tfjs-models · GitHub

OpenPose同様、人の関節や目、鼻、耳を推論するという仕組みですが、こちらはApacheライセンス 2.0に準拠、つまり、商用利用も可のオープンソースな仕組み。

上のリンクからスマホで「Try the demo here!」をタッチすると、スマホのカメラを使って上のような骨格映像を表示させることができます。

まあ、それはそれで面白いのですが、やはり実用で使おうと思ったら、Python版が欲しいところ。

ありました。Python + TensorFlow版が。

GitHub - rwightman/posenet-python: A Python port of Google TensorFlow.js PoseNet (Real-time Human Pose Estimation)

こちらから、Python用のコードが入手できます。

上のコードは、TensorFlow 1.12で動作させているようです。が、我が家のTensorFlow 1.8.0でも動きました(あれ、うちのはそんな古いバージョンだったんだ……)。

が、注意が必要なのは、OpenCVです。

今どきは普通にpipでインストールすると、OpenCV 4.Xが入ってしまいますが、動きませんでした。

ということで、わざわざリンク先と同じ3.4.5.20を入れました。

> pip uninstall opencv-python

> pip install opencv-python==3.4.5.20

他にもpillowなどが必要です。

で、早速動かしました。

コードをゲットして展開し、コマンドライン上で

> python get_test_images.py

と打てば、サンプルの画像ファイルを入手できます。そのあとに、

> python image_demo.py

と打ち込めば、outputフォルダに結果が入ります。

Skate_park

こんな感じの画像が得られます。

「images」フォルダに独自の写真を入れても、同様に人の骨格画像が生成されます。

また、Webカメラの画像から骨格画像を得るには

> python webcam_demo.py

でカメラ画像から骨格を推論してくれます。

あるいは、

> python webcam_demo.py --file (動画ファイル名)

とすれば、カメラではなく動画から同様の処理をかけてくれます。

さて、このPoseNetを使うときは、当然人の動きを数値化したいという需要がある人が多いので、この骨格の座標を取り出したいと考えるのが当然です。

というわけで、その数値の取り方ですが。

image_demo.pyにせよ、webcam_demo.pyにせよ、

pose_scores, keypoint_scores, keypoint_coords = posenet.decode_multi.decode_multiple_poses( ~

という行があるはずです。

その中にある「keypoint_coords」が、各部位の骨格を示しています。

例えば、写っている人物の一人目の右手首の座標を知りたければ、


rtwrt = keypoint_coords[0,10,:]

という変数で取り込めば、rtwrt[1]がx座標、rtwrt[0]がy座標になってます(逆じゃないです。本当にこの順番です)。

[0,10,:]の”0”が「一人目」という意味で、”10”というのが右手首(rightWrist)という意味です。

全部で17か所あって、配列の0~16にはそれぞれ「nose」、「leftEye」、「rightEye」、「leftEar」、「rightEar」、「leftShoulder」、「rightShoulder」、「leftElbow」、「rightElbow」、「leftWrist」、「rightWrist」、「leftHip」、「rightHip」、「leftKnee」、「rightKnee」、「leftAnkle」、「rightAnkle」となってます(意味は大体わかりますよね?)。

なお座標値は、画像左上が原点で、y座標は下に行くほどプラスであることに注意してください。

これを使うと、例えばダンクシュートした際の手足、身体の動きや、作業の姿勢等を数値化することができるようになります。

アイデア次第で、いろいろとできそうです。

ということで、私も会社でいろいろとやってます。

簡単なDeep Learning

2019年12月31日 (火)

2019年まとめ記事

今年も、最後の日です。

恒例の振り返り記事です。

【1月】

TensorFlowの画像認識プログラムをKerasに書き換えてみた: EeePCの軌跡

そういえば、kerasを使ったのって、今年からだったんですね。この記事で思い出しました。

Kerasを使うようになってから、ディープラーニングのコーディングの幅が飛躍的に広がりました。確かにこれは、お手軽です。

【2月】

SONY Neural Network Consoleで独自データの学習・推論をやらせてみた: EeePCの軌跡

一方で、こんなお手軽ソフトも。

ノンプログラミングなSONY Neural Network Consoleです。これはこれで、教育用途で使っております。便利です。

【3月】

ブログ11周年&1500万PV突破!: EeePCの軌跡

このブログも、11年になりました。

で、ほぼ同時に1500万PV達成です。

思えば、いろいろとありましたねぇ、この11年。タイトル通り、最初はネットブックから始まったんですが、いつの間にやらスマホにAI。なりふり構わずですね。

【4月】

 AI用エッジ端末として期待される端末”Jetson nano”はどれくらいの性能か?: EeePCの軌跡

あまり実りのない月でしたね、4月は。

手元にあるわけではないJetson Nanoのベンチマーク記事しか、取り上げる記事がないという、そんな月でした。

まあ、このころは裏でいろいろとあったんですが・・・

【5月】

会社用iPhoneがiPhone Xに!: EeePCの軌跡 

それを象徴するのが、この記事。

iPhone Xを表に出してますが、要するに部署異動という大きな節目を告げる記事です。

おかげさまで、いろいろとありましたねぇ。振り返れば、4月までと比べると、随分と世界が広がりました。

まあ、そんな節目の月でした。

【6月】

Raspberry Pi 4が発表!最大4GBメモリ搭載に!: EeePCの軌跡

さて、6月は気になるRaspberry Piが出た月です。

Raspberry Pi 4が登場。しかもこのRaspberry Pi、4GBメモリー搭載モデルまであります。

このときは、あまり興味なさげな雰囲気ですが、結局12月になって買ってしまったところを見ると、やっぱり気になってたんでしょうね。

【7月】

Amazonプライムデーで最新版Fire 7購入: EeePCの軌跡

新型のFire 7、買いました。

安かったのがきっかけですが、買ってよかったかなぁと。

今も、妻が使ってます。dアニメ見るために。

【8月】

このタイミングでNintendo Switchを購入: EeePCの軌跡

Nitendo Switchを買いました。

思えば、今年一番ビッグな端末系の買い物はこれですね。あとはFire 7だのRaspberry Pi 4くらいしかありませんし。

子供が大喜びで遊んでます。

【9月】

 iOS 13ではマウスが使用可能に!: EeePCの軌跡

9月と言えば、新型のiPhoneの発売月ですが、今年もスルーしたため、私の関心はiOS 13でした。

売りの一つは、マウスが使えるようになったことでしょうか?

ただし、思ったより使い物にならなくて拍子抜けでしたが。せめてコピーペーストがもっと楽になればよかったんですが。

ちなみに一番ありがたいiOS13の機能は、交通系ICを読めるようになったことですね。

【10月】

食べログ3.8問題を検証した記事: EeePCの軌跡

ネット界における信頼が揺らいだ事件だと、個人的には思ってます。

上のような、明らかに食べログの操作を疑わせるヒストグラムが確認されて、ひと騒ぎ合った年です。

いくら何でも、不自然な分布です。統計をやってる人なら、よくわかっていただけると思います。

その後、どうなったんでしょうね・・・?私はすっかり食べログは参考にしなくなりましたけど。

【11月】

AirPods買いました: EeePCの軌跡

Air Podsを買いました。Proではなく、無印の方です。

部署移動して、出張が増えたのがきっかけでもあります。

もっと早く買っておけばよかったと思えるような、快適な使い心地です。

【12月】

manacaの自動チャージ機能付きカードのWellow Card(オリコカード)の自動リボ払いを叩っ切ってみた: EeePCの軌跡

久々に赤太字連発な記事を書いてしまいました。

信用を売りとするべき会社が、やってはならないことをやったわけですから、腹が立つのも当然です。

いや、いくら何でも、3000円の自動リボ払いは悪意ありすぎでしょう。これでは、いつまで経っても元本が減らず、利子ばかりがたまるシステムです。

おまけにネット上で解除する方法がなくて・・・詳しくは、記事をご覧ください。

クレジットカードなんて、安易に信用するなってことですね。

とまあ、今年一年も、何事もなかったようでいろいろと会った年でしたが。

私としては、こんな出来事がありましたね。

【番外編】

 小説家になろう 第7回ネット大賞の1次選考を通過しました!: EeePCの軌跡

去年、MacBook Airを買ったことが、こういう形になって現れました。

私にとって、2つ目のネットコンテンツとなりつつあります。

実は、1次通過は今年だけで2度ありました。2次通過はかないませんが。

これ以上の飛躍があるのか、それとも、この辺りが限界なのか?まだまだ挑戦は続いてます。

2019年。総括すると、運がいいやら悪いやらという年でした。

記事には書いてませんけど、1月に妻がろっ骨を折ったり、こちらもいろいろあって1週間ほど会社を休んだりと、本当に波瀾万丈な年でしたね。

来年くらいは、もうちょっと平穏、いや、飛躍の年にしたいですよねぇ。

というわけで、今年最後の更新となります。

皆さま、よいお年を。


これからの日本の論点2020 日経大予測

2019年12月22日 (日)

Microsoftが海中にデータセンターを作る!?

水中都市にでもクラウドサービスを展開するのか?と思いきや、そこには深い事情があります。海だけに。

マイクロソフトが海中にデータセンターを設置する理由とは - TechCrunch Japan

データセンターの維持には膨大な電力が、そしてその電力のかなりの部分を占めているのが冷却だそうです。

よくデータセンターを寒冷地に作るという話を聞きますが(日本だと北海道に)、それはこういう事情があるみたいです。

なので、一番身近に涼しいところと言えば、それは海中ということになるようで。

周りがすべてに水ですから、冷却という点では有利そうに感じますね。

ただ、そこに人が行き来するのが大変、何かのきっかけで建物が崩壊したら、その時は・・・などなど、デメリットや懸念事項もあるわけで。

ということで、試験的にサーバーを詰め込んだ巨大な気密タンクを海に沈めるようです。数年間、様子見とのこと。

これがうまくいったら、クラウドの電力消費が格段に減りそうですね。しかも、北極圏にデータセンターを作るよりも人口密集地帯に近い場所にデータセンターを作ることも可能。

あまりうまくいく気がしませんが、こういうチャレンジ、個人的には好きです。


IETSノートパソコンCPU冷却ファン USB吸引式クーラー 排気口に取付 ミニサイズ冷却パッド ファンスピード調整ができ 静音タイプ CPUクーラー LED温度デジタル表示 コンパクト 持ち運び便利 扇風機 (ブラック)

2019年12月11日 (水)

PFN、Chainer開発、やめるってよ……

Chainerと言えば国産の深層学習用フレームワークですが、それを開発するPFNが、フレームワークをPyTorchに切り替えると発表しました。

PFN、深層学習フレームワークを自社開発の「Chainer」から「PyTorch」に切り替え - PC Watch

これを受けて、Chainerはメンテナンスフェーズに入るようです。

ついに、国産のフレームワークの一つが消える・・・いや、私は全然使ってないので、これに関してあまり強く言える立場ではないんですけどね。

しかし、PyTorchですか・・・最近、多いですね、PyTorch。うちでも使えるようにするべきなんでしょうか?

私はもっぱらTensorFlow + Kerasです。まあ、慣れちゃったので、こっちが都合がいいというだけなのですが。でも、概ねこのフレームワークで困ることがありません。

が、一つ困るのは、PyTorchで書かれたコードを実装したいなあと思った場合。

これをKerasに書き換えるのは、至難の業です。

PFNですら乗り換えるくらいなら、私もそろそろ検討したほうがいいんですかねぇ。

つくりながら学ぶ! PyTorchによる発展ディープラーニング

より以前の記事一覧

当ブログ内検索

スポンサード リンク

ブログ村

無料ブログはココログ