レポート

東京Node学園祭の最終回(!?)に参加してきました!

この記事を読むのに必要な時間:およそ 5 分

2018年11月24日,25日に東京Node学園祭2018(nodefest)が開催されました。本稿ではその模様をレポートします。

東京Node学園祭Node.js日本ユーザグループが主催する日本最大のNodeJSカンファレンスです。両日とも今年はYahoo Japan社で開催されました。

Node.js日本ユーザグループは東京Node学園祭のようなカンファレンスだけではなく,Node学園や東京Node女学園といった勉強会を開催しています。これらのイベントはNodeという名前が付くものの,Node.jsに限ったものではなく,フロントエンド開発・ソフトウェア開発を含めた広い範囲テーマを扱っています。

今回もReactやPWAといったフロントエンド開発に関係するキーワードについてのセッションも全体の半分くらいを占めており,フロントエンドエンジニアにとっても楽しめるイベントでした。

会場入り口では投票ボードが置かれ,どのような技術スタックが好まれるかというアンケートも取っていました(写真は最終日のものです)⁠

投票ボード

投票ボード

古川陽介さん「開会の挨拶」

日本Node.jsユーザーグループ代表の古川陽介さん@yosuke_furukawaの挨拶とイベントの案内から始まりました。

古川会長

古川会長

はじめに,新しいロゴとノベルティを紹介し,今回の登壇者や会場施設を紹介しました。

次にNode.jsに関する直近のニュースとして,Node.js FoundationとJS FoudationがNode.jsとJavaScriptに関する支援を広げるべく,コラボレーションをしようとしていることを取り上げました。その背景のもと,Node学園祭2018のスローガンは⁠Beyond NodeFest⁠にしたとし,そして重大発表がありました。なんとNode学園祭の開催は今年で最後にし,来年はJSConf in Japanを行なおうと企画していると話がありました。

JSconf in Japan

JSconf in Japan

突然の大きなニュースから,1日目のConference Dayが始まりました。

飯塚修平さん「Javascriptで機械学習はじめよう」

飯塚修平さん@tushuheiによるJavascriptで機械学習はじめようでは,Tensorflow.jsとクライアントサイドで機械学習を行うことのメリットについて発表がありました。

飯塚さんはGoogleのUXエンジニアで,Emoji Scavenger HuntGboard 物理手書きバージョンの開発者です。Emoji Scavenger Huntはアプリで指示された絵文字と同じものを,現実世界でカメラをかざすことでクリアできる,借り物競走ゲームのアプリです。Gboardはキーボードに文字を書くと,その文字を認識してタイピングができるエイプリルフールネタです(エイプリルフールの一つとして発表されましたが,実現しています)⁠

Gboard

Gboard

カメラで撮った画像の認識やキーボード上の入力パターンの認識を行うために機械学習を用いており,それらはTensorflow.jsで実装されています。

機械学習を行う環境について

TensorflowはGoogleが開発したOSSであり,データフローグラフを用いてニューラルネットワークを表現することで,数値計算や機械学習を行なえるライブラリです。TensorflowはPythonのライブラリとして提供されていましたが,Tensorflow.jsはこれらをJavaScriptで実行できるようにしたものであり,ブラウザ上で機械学習を行なえるようになります。データフローグラフはプログラミング言語に依存しないため,他の環境で学習したモデルをTensorflow.jsで利用することもできます。

一般的に機械学習では,モデルの学習はサーバー上で行なわれます。サーバー上で機械学習を行うと,学習や予測のたびにデータの送信や結果の受け取りといった通信が発生しますが,ブラウザで実行すればそれらの送受信の時間がなくなり,高速な推論ができます。またデータを送信しないため,プライバシーの保護にもつながります。

ブラウザ上での機械学習

ブラウザ上での機械学習

ブラウザ上での機械学習の例

このセッションではデモも行いました。ブラウザのcanvas要素上で○と×を書き,それを学習させ,次に入力した記号が○か×かを判別するかといったものです。学習もリアルタイムで実演し,予測では5問中4問を正答しました。canvas要素の端っこに小さく書いた記号の判別を間違えましたが,たとえオフライン環境であったとしても,すぐに正しい例をその場で学習させることができていました。

実際に学習に使われたコードについても解説があり,実装が想像しやすく,とても有意義なセッションでした。

著者プロフィール

井手優太(いでゆうた)

都内でフロントエンドエンジニアをしている。

URL:https://github.com/sadnessOjisan

バックナンバー

2018年

バックナンバー一覧

コメント

コメントの記入