2016年11月21日月曜日

第02回てくてく勉強会を開催します

2016年12月10日(土)、第02回てくてく勉強会を開催します
今回のテーマは、"TensorFlow"です。

てくてく勉強会は、様々な分野のエンジニアが集まる勉強会です。 エンジニアの卵の方、バリバリ現役のエンジニアの方、技術レベルは一切問いませんので、気軽に”てくてく”歩いてご参加下さい。
てくてく勉強会は、毎回テーマを設けます。 テーマには、比較的新しい技術を取り上げる予定です。 テーマに沿った新しい技術を学んで、お互いにシェアする場にしていきたいと思います。
一応テーマは設けるのですが、各自の勉強内容を縛るわけではありません。好きなトピックを勉強していただいて全く問題ありませんが、異分野のエンジニアが交流するための題材として、テーマが役に立てばと思います。
また、テーマに関する予習も必要ありません。この会はノウハウを披露する場では無く学ぶ場であるので、知識ゼロもで大丈夫です。
第02回目のテーマは”TensorFlow”になります。 TensofFlowはGoogle製の高機能かつ手軽な機械学習ライブラリで、最近様々なプラットフォームで使われ始めているようです。
基本的には各自もくもくと勉強するスタイルですが、参加者同士の交流を促す仕組みも用意していく予定です。 お互いに質問、情報共有をしながら効率的に学んでいきましょう。 懇親会も開催します。 また、LT枠は特に設けておりませんが、ご希望の方はぜひコメントをください。

皆様のご参加をお待ちしております。

詳細はこちらから
https://tekutekuteku.connpass.com/event/45237/
Facebookグループはこちら
https://www.facebook.com/groups/tekuteku/

2016年11月11日金曜日

[iOS] MetalでGPUコンピューティング(2)

前回に引き続き、Apple製のフレームワーク、MetalについてQiitaに記事を書きました。
今回はMetalの応用編です。
アプリの描画部分にMetalを用いるのではなく、ロジック部分にMetalを用いるという通常と逆の試みを行い、群知能を実装します。
各個体はローカルに互いと、そして彼らの環境と対話する。個々のエージェントがどう行動すべきかを命じている集中的な制御構造は通常存在しないが、そのようなエージェント間の局所相互作用はしばしば全体の行動の創発(emergence)をもたらす。このようなシステムの自然界の例として、アリの巣、鳥の群れ、動物の群れ、細菌のコロニー、魚の群れなどがある。
-群知能- Wikipedia
コンピュータ上の群知能として有名なものに、クレイグ・レイノルズによって考案されたBoidsがあります。
Boidsは複雑系や自己組織化に深く関わっているのですが、各個体が以下のたった3つのルールに従うだけで、個体の集合が魚や鳥の群れのように振る舞います。

1.分離(Separation)各個体は他の個体とぶつからないように動く。
2.整列(Alignment)各個体は他の個体と速度と方向を合わせるように動く。
3.結合(Cohesion)各個体は他の個体の集合の中心方向へ向かうように動く。

上記と全く同じにしても面白くないので、今回はこのルールに少しアレンジを加えました。

a.等距離 各個体が等距離を保つように動く。
b.並行 各個体が他の個体と同じ向きになるように動く。
c.等速 各個体は他の個体と同じ速度になるように動く。

Boidsとの違いは群れが中心を持たず、各個体がより分散的に動くことです。

数式、コードなどは以下のQiitaの記事に具体的に記述しました。
[iOS] MetalでGPUコンピューティング(2)

以下は動作例です。

魚たちが集まって、まるで一つの生き物であるような動きをします。姿形はクラゲのようでありますが、無数の個体が集まって一つの個体を形成する様子は粘菌のようでもあり、魚を細胞とするならば多細胞生物に例えることもできるかと思います。
パラメータの調整に、魚たちは渦を形成したり、 一様な群れを形成したりします。

今回は群知能を対象としましたが、GPUの活用により生命らしさが実装が可能なことがわかりました。もちろん、今回のMetalを用いた技術は機械学習などへの応用も期待できるかと思います。

今回使用したコードは、こちらに置いておきます。
https://github.com/yukinaga/SwarmIntelligence

2016年11月7日月曜日

第01回てくてく勉強会を主催しました

様々なバックグラウンドのエンジニアが集まる勉強会、てくてく勉強会を主催しました。
会場はTekuru八重洲教室で、主催はエンジニアの酒井さん、武田さんと私(我妻)です。
参加者は全部で12人、インフラエンジニア、ウェブエンジニア、モバイルエンジニア、SIerなど様々な分野のエンジニアの方が集まりました。

初回のテーマは”サーバーレス”です。Firebase、AWS Lambdaなど、様々なサーバーの設定や運用が不要のサービスが出現しており、将来的な動向が気になるところです。

勉強会は”他己紹介”から始まりました。
自分ではなく他の方を紹介することで、参加者の皆さんに交流のきっかけをつかんでいただけたかと思います。

もくもく会を挟んで、酒井さんのLTです。
内容はiOSアプリへのFirebaseの導入に関してです。
制限はあるものの、クラウド上のデータベースが簡単に利用できるのは便利ですね。
後半はビールを飲みながらのもくもく会でした。一人で勉強している方も、技術話で盛り上がっている方もいました。
終了後の懇親会では、次回のテーマに関して様々な意見が出ました。TensorFlow、IoT、データベース、Baas、Webviewなどが次回の候補になるかと思います。今後とも、多様な分野のエンジニアの接点になるようなテーマを選んでいけたらと思います。

来月もまた開催しますので、イベントの公開を楽しみにしてくださいね。

イベント
http://tekutekuteku.connpass.com/event/43007/
Facebookグループ(公開)
https://www.facebook.com/groups/tekuteku/ 

参加者の井村さんがブログを書いてくれました。
 http://imunew.hatenablog.com/entry/2016/11/06/234800
有難うございます!