マルレク 2015-2016 開催一覧

マルレク 2015-2016 開催概要

マルレク2015-2016は、2015年5月から隔月で2016年3月まで、計6回の開催を予定しています。

ニューラル・ネットと技術革新の展望 +PROJECT ARA

マルレク2015-2016 第六回/3月12日(土) (終了)
  • 開催テーマ :  「 ニューラル・ネットと技術革新の展望 +PROJECT ARA 」
  • 講演 : 丸山不二夫
    講演資料の閲覧はこちらから。 (データサイズ60.8MB)
  • 日時 : 2016年3月12日(土)  16:00 ~ 17:00 予定
  • 会場 : 青山学院大学 青山キャンパス17号館6階 本多国際会議場  (渋谷・表参道)
    ( 日本アンドロイドの会 「ABC 2016 Spring」イベント会場 内 )
    ( 東京都渋谷区渋谷4-4-25 )
  • 申込受付開始 : 2016年3月5日(土) 12:00  ~
  • 受講申込み   : こちらから。 (終了しました)
  • 定員 : 200人 無料(申込先着順)

講演概要

まず、学ぶことから始めよう

モバイルとクラウドの時代が始まって10年が経ちました。次の10年を展望した時、AI技術が、その新しい技術的中核として登場しようとしています。

ただ、モバイルが携帯電話の、クラウドがデータセンターの、ある意味では連続的な発展だったのに対して、ニューラル・ネットワークは、ほとんどの技術者にとって全く新しい技術です。そこには、技術的な「断絶」があります。

問題は明確です。我々は、来たるべきAI新時代に向けて、学ぶことから始めなければなりません。同時に、重要なことは、今後の10年を展望すれば、それはすべての技術者にとって必要な課題になるだろうだということです。

何を学ぶべきか? 新年度のマルレクの概要を紹介します

では、ニューラル・ネットワークについて、何を学ぶことから始めるべきなのでしょう? 講演では、前回のマルレクの「ニューラル・ネットワーク入門」に続く、新年度からの次のようなマルレクの予定とその概要を示したいと思います。

・「Deep Learningとそのフレームワーク」(4/4 at Google)
・「Convolutional Neural Network入門」(次回マルレク)
・「Recurrent Neural Network / LSTM入門」(次次回マルレク)
・「CNNとRNNの応用」(それ以降)

参考資料

「ニューラル・ネットワーク+TensorFlow入門講座」
「人間の思考、機械の思考 -- IT技術者のための機械による知能研究入門」

PROJECT ARAへの期待

今回の講演には、もう一つのトピックがあります。それがProject Araです。

Project Araのコンセプトが発表されてから3年近くになりますが、いろいろな紆余曲折があって、まだ製品化のめどはたっていません。 ただ、今年のGoogle IOでは、新しい発表があると言われています。Project Araの製品化は、モバイルの新しい進化の道を示すものになると、僕は考えています。

今回の講演では、「ものづくり」の変化という観点から、あらためてProject Araを取り上げてみたいと思います。かつてProject Araの中心にいた、Paul Eremenkoのものづくりのビジョンを、彼のDARPA時代の仕事にさかのぼって紹介しようと思います。

ニューラル・ネットワーク+TensorFlow 入門講座

マルレク2015-2016第五回/2月2日(火)開催 (終了)
  • 開催テーマ :  「 ニューラル・ネットワーク+TensorFlow 入門講座 」
  • 講演 : 丸山不二夫
    講演資料の閲覧はこちらから。 (データサイズ14.9MB)
  • 日時 : 2016年2月2日(火) 19:00 ~ 21:00
    (開場 18:30 / 受付 18:30 ~ 19:30 )
  • 会場 : KDDI株式会社 本社 会議室  (飯田橋・水道橋)
    (東京都千代田区飯田橋 3-10-10 ガーデンエアタワー )
  • 申込受付開始 : 2016年1月26日(火) 12:00  ~2月1日(月)12:00まで
  • 受講申込み   : こちらから。 (終了しました)
  • 定員 : 200人 無料(申込先着順)

※ 「マルレク2014-2015第五回ではお手伝いいただける方を若干名募集いたしました。
( ご応募、開催運営のご協力ありがとうございました。)

講演概要

機械学習には、数値予測・自然言語処理等々いろいろな領域があるのですが、今回は、この分野で近年もっとも活発に発展・応用が進んでいるニューラル・ネットワーク/ディープ・ラーニングにフォーカスした入門講座です。

また、ニューラル・ネットワークを扱うフレームワークとしては、昨年の11月に、Googleがオープンソースとして公開した、TensorFlowを取り上げます。TensorFlowの入門講座としても役に立てればと考えています。

ニューラル・ネットワーク入門

ニューラル・ネットワーク入門では、まず、ニューラル・ネットワークの歴史と従来のコンピューティング技術との対比を中心に、この技術が、何を目指しているのかを概観します。次いで、この技術の個別の構成要素、重みとバイアス、Back Propagation、コスト関数、Gradient Decent、Convolution等を簡単に説明します。最後に、この分野でのこれまでの達成について述べ、自然言語処理への挑戦を中心に、新しい動向を紹介します。

TENSORFLOW入門

TensorFlow入門では、最初に、このプロジェクト登場の意味について考えたいと思います。次いで、この技術で用いられている、基本的な術語、graph, tensor, operation, session, device, kernel 等について説明します。最後に、簡単な数値予測のサンプルと少し複雑な画像認識のcNNのサンプルで、tesorflow のプログラムの作り方を説明したいと思います。

参考資料

「人間の思考、機械の思考 -- IT技術者のための機械による知能研究入門」
Google TensorFlow
TensorFlow White Paper (翻訳)

 

機械学習技術の現在 2

マルレク2015-2016 第四回 /12月22日(火) 開催 (終了)
  • 開催テーマ :  「 機械学習技術の現在 2 」
  • 講演 : 丸山不二夫
    講演資料の閲覧はこちらから。 (データサイズ17.7MB)
  • 日時 : 2015年12月22日(火) 19:00 ~ 21:00
    (開場 18:30 / 受付 18:30 ~ 19:30 )
  • 会場 : 日本マイクロソフト株式会社 品川本社 セミナールーム  (品川)
    (東京都港区港南 2-16-3 品川グランドセントラルタワー )
  • 申込受付開始 : 2015年12月15日(火) 12:00  ~12月21日(月)12:00まで
  • 受講申込み   : こちらから。 ( 終了しました )
  • 定員 : 150人 無料(申込先着順)

講演概要

前回のマルレクも、機械学習技術がテーマでしたが、今回も引き続き、同じテーマで開催します。今回は、この間のこの分野の新しい動きとして、IBM Watson API, MS DMTK, Google TensorFlow を取り上げます。

WATSON VS WATSON

今回取り上げるIBMのWatson APIは、自然言語の処理を一つの特徴としています。その意味では、前回のマルレクのテーマの一つだった、クイズ番組Joepardyで人間相手に優勝したWatsonと同じ技術の発展系と思われるかもしれませんが、講演では、同じ名前を持つ二つのWatsonを、むしろその「違い」に注目して比較してみたいと思います。

MS DMTKとWORD2VEC

MS DMTKも自然言語の処理をターゲットにしています。基本的には、単語の「意味」に、複数の単語の意味の「近さ」を統計的に数値化することで近づこうとするアプローチです。こうしたアプローチで有名なのは、Googleの技術者が開発したWord2Vecというツールがあります。講演では、Word2Vecも紹介しながら、こうした統計的アプローチの課題を考えてみたいと思います。

GOOGLE TENSORFLOW

Google TensorFlowは、もうすこし汎用的な枠組みを提供しようとしています。それは、この間、Deep Learningの世界で進行していた、TorchやCaffeのような、ニューラル・ネットワークを記述する言語を構成しようという流れと、DMTKも志向しているような、機械学習システムを、分散システムとして構築しようという、二つの流れの結節点に立っているプロジェクトです。その意味では、機械学習技術の「第二世代」の登場を意味する注目すべきプロジェクトです。講演では、TensorFlowの紹介に、時間を割きたいと思っています。

改めて考えたいこと

「人工知能」や「機械学習」という言葉は、とてもホットな話題になっています。「シンギュラリティ」に対する関心も高いものがあります。しかし、機械を作っているのは人間です。人間が、自ら、「知識とは何か」「知能とは何か?」「ことばとその意味とは何か?」「人間の言語能力とは何か?」について考えることなしには、知能を持った機械を作ることはできないはずです。それは、確かに難しい問題ですが、誰でも考えることのできる問題です。そうした「哲学的」ではあるけど、「常識的な批判力」を持つことの重要性を訴えられたらいいと思っています。

参考資料

IBM Watson API
Microsoft Distributed Machine Learning ToolkitI
Google TensorFlow

機械学習技術の現在

マルレク2015-2016 第三回 /9月29日(火) 開催 (終了)
  • 開催テーマ :  「 機械学習技術の現在 」
  • 講演 : 丸山不二夫
    講演資料の閲覧はこちらから。(データサイズ 49MB)
  • 日時 : 2015年9月29日(火) 19:00 ~ 21:00
    (開場 18:30 / 受付 18:30 ~ 19:30 )
  • 会場 : GMOインターネット株式会社 本社11F ユアーズ  (渋谷)
    (東京都渋谷区桜丘 26-1 セルリアンタワー )
  • 申込受付開始 : 2015年9月18日(金) 12:00 ~ 9月28日(月)12:00
  • 受講申込み   : こちらから。 (終了しました)
  • 定員 : 200人 無料(申込先着順)

講演概要

はじめに

現代のIT技術とその利用の一つの新しい焦点は、ML(機械学習)技術とAI(人工知能)技術にあります。機械が、人間のように学習し、人間のように思考する。これは科学者たちの長い間の夢でした。私たちは、そうした夢が実現する時代の始まりに立っているのかもしれません。

ただ、近年の機械学習技術・AI技術とその利用の急速な発展と拡大は、現象的には、これらの技術に対する人々の全体的な理解を難しくしています。これらの技術で、何が出来て何が課題なのか、よく知ることがないと、空想的で根拠のない楽観論と技術否定に通じかねない悲観論の両極に、技術の評価が振動します。

今回のレクチャーは、機械学習技術・AI技術の現在について、オーバービューを与えることを目的にしています。出来るだけ多くの人に、これらの技術の到達点と課題の概略を知ってもらいたいと思います。畢竟、機械学習を知るためには人間の学習が必要であり、人工知能を作るには人間の知能が必要です。IT技術者の方には、自身でこの分野への問題意識を深めていくことを期待しています。

機械学習技術を構成する複数の流れ

最初に確認したいのは、機械学習技術・AI技術は、単一の技術ではなく、それを構成する複数の流れがあるということです。大雑把に言うと、次のようなものがあります。

A. データの統計的分析をもとに、数値予測・クラス分けを行うもの。
B. ニューラルネットワークの手法を用いて、生物の感覚・運動系の能力の相同物を機械上で実現しようとするもの。
C. 人間固有の言語能力と経験的な知識・推論システムに関わるもの。
D. 人間の数学的・論理的な推論能力に関わるもの。

これらの領域は、相互に関連することもありますが、基本的には、独立です。興味のあるところから、手をつけるのがいいと思います。現在、もっとも活発に研究・応用が進んでいるのは、B. の領域ですが、機械学習・AI技術の最終目標は、C. の領域にあるのではと、僕は考えています。

パーソナル・アシスタント・システムの現在

AndroidのGoogle Now、iPhoneのSiri、WindowsのCortana等の、音声インターフェースのパーソナル・アシスタント・システムは、多くの人に、AI時代の到来を印象付ける上で大きな役割を果たしています。AmazonのAlexa、FacebookのMも、そうした動きに追随しています。

これらの技術は、先の分類では、B. 領域の技術を用いて、この間、急速に精度を向上させた音声認識(Speech Recognithion)技術を、共通のベースにしています。レクチャーでは、代表的なシステムの実装を紹介したいと思います。これらの音声質問応答システムの到達点は、現在の機械学習技術・AI技術の課題をよく示していると僕は考えています。

これらは、人間の知能にどう迫っているのでしょう? 残念ながら、その多くは、「Turing Test Machine」 と呼ぶべきものです。パーソナル・アシスタント・システムを含む質問応答システムの雄は、なんといっても、IBM Watsonです。それは、単純な「Turing Test Machine」 を超えようという試みの一つです。レクチャーでは、Watsonの技術について、少し詳しく紹介しようと思います。

機械学習ソフトウェアのオープンソースでの提供

「はじめに」で、「出来るだけ多くの人に、これらの技術の到達点と課題の概略を知ってもらいたい」と述べましたが、その条件は大きく広がっています。クラウド上での安価で高性能な機械学習サービス(これらの多くは、先の分類では A. 領域に属します)が開始されると共に、優れた機械学習ソフトウェア(これらの多くは、先の分類では B. 領域に属しています)が、誰でもアクセス出来る形で提供されています。

レクチャーでは、後者のオープンソースの動きにフォーカスして、その幾つかを紹介したいと思います。次のようなものがあります。

Torch: https://goo.gl/Yg98OO
Caffe : http://caffe.berkeleyvision.org/
Sirius: http://sirius.clarity-lab.org/sirius/

MSのニューラル・ネットワークの構造を記述する言語 Net# も興味ふかいものです。

機械学習ハードウェアの変化とコンピュータの新しい形の模索

機械学習技術を支えるハードウェア・システムも、大きな変化の只中にあります。
「Googleの猫」の認識に成功したシステムは、16,000コアからなる巨大なシステムでしたが、現在は、GPUを利用してシステムは小型化し、研究室内のマシンでも同じ処理が可能になっています。先に紹介したオープンソースの多くは、デフォールトでGPUの使用を想定しています。また、MSのCatapultやSiriusのサーバーサイドのように、クラウド上に、FPGAを使って高性能で低電力なシステムを構築する研究も活発に行われています。

ただ、ハードウェアをめぐる動きの中で特筆すべきなのは、「人間の脳にインスパイアされた」というIBMのニューロチップTrueNorthだと思います。TrueNorthは、現在のフォン・ノイマン型のコンピュータとは、異なるアーキテクチャーを持っています。レクチャーでは、TrueNorthと、その開発言語Coreletを、紹介したいと思います。

参考資料

「人間の思考、機械の思考 -- IT技術者のための機械による知能研究入門」
「人間にできること 人間 vs 機械 」
「エンタープライズと機械学習技術」
「エンタープライズと機械学習技術 Azure ML編」
「「型の理論」と証明支援システム -- Coqの世界」

 

大規模分散システムの現在 -- Twitter --

マルレク2015-2016 第二回 /6月17日(水) 開催 (終了)
  • 開催テーマ :  「 大規模分散システムの現在 -- Twitter -- 」
  • 講演 : 丸山不二夫
    講演資料はこちらから。  (27.6 Mb)
  • 日時 : 2015年6月17日(水) 18:30 ~ 20:30
    (開場 18:00 / 受付 18:00 ~ 19:00 )
  • 会場 : 富士通株式会社 富士通ソリューションスクエア  (蒲田)
    (東京大田区新蒲田1-17-25 )
  • 申込受付開始 : 2015年6月10日(水) 12;00 ~
  • 受講申込み   : こちらから。 (終了しました)
  • 定員 : 200人 無料(申込先着順)

「大規模分散システムの現在 -- Twitter -- 」

講演概要

TWITTERのアプローチ -- 大規模分散システムの特徴の把握

大規模分散システムについてのTwitterのアプローチは、ScalabilityとAvailabilityの担保を中核とした GoogleやFacebookの大規模分散システムのアプローチとは、一味、違っています。そこでは、ネットワーク上のノードやReplicaの配置といった具体的な問題よりは、大規模分散システムの特徴の抽象的な把握に大きな関心が寄せられているように思います。

Twitter的な見方をすれば、大規模なシステムというのは、まず何よりも、大規模なサービス(基本的なサービス+それとCross Cuttingなサービス)の集まりです。サービスは、基本的には分散した非同期なネットワーク・サービスで、これらの様々なサービスが結合して、新しいサービスを生み出します。その限りでいえば、それは、SOA的なアプローチといっていいものです。

大規模分散システムを関数型言語で記述する --FINAGAL

ただ、Twitterのアプローチの最大の特徴は、サービスの結合によって構成されるシステムの記述には、関数型のプログラム言語が、もっとも適合的だという積極的な主張にあると思います。文字通りの意味で、「システム・プログラミング言語」に、関数型言語を用いること、関数はサービスの抽象化で、サーバーも抽象的には一つの関数であること、こうした世界で本質的な役割を果たすのは、Future/Promiseやflatmapであること。こうした認識のスタイルは、Twitterのシステム理解の要になります。

Twitterは、こうしたアプローチに基づいて、システム構築に必要な基本的なライブラリーをまとめている。それが finagal です。講演では、まず、このfinagalのオーバービューをしてみたいと思います。

一秒間に14万ツイートを処理する分散データベース -- MANHATTEN

こうした一方で、Twitterは、リアルタイムに膨大な量の情報を処理する技術をつくりあげてきました。一秒間あたりの最大ツィート数は、2013日年8月2日に日本が記録した14万3,199ツイート/秒だと言われています。こうした処理を支えているのは、超高速のNoSQL型の分散データベースです。

Twitterは、従来、Facebookの開発したCassandraを利用してきたのですが、近年、それを新しい分散データベースの manhattanに置き換えました。Twitterのmanhattanは、まだオープンソースとしては公開されていませんが、この移行については、いくつかの情報が出ています。講演では、それらを紹介したいと思います。

大規模分散システムのOSの提案 -- AURORA

GoogleやFacebookやTwitterの大規模分散システム、また、AmazonやMicrosoftのクラウドの全体の構成は、とても複雑なものです。それは、これらの大規模分散システムやクラウドの「利用者」が、個別的・具体的に受け取るサービスの総和ではありません。「利用者」が直接には意識しないところで、様々なサービスが働いています。それらの中で、もっとも基本的なものは、システム全体のリソースの利用状況を正確に把握し、利用者の要求に応じて、リソースを動的に割り当てるサービスです。Twitter Auroraは、まさに、そうした働きをするサービスです。

興味深いことは、Twitterは、従来Twitter内部で同様のサービスを提供してきたMesosを、近年、クラウドの世界で急速に受容が進んでいるDockerに対応させるという方向で、Auroraのオープンソース化を進めようとしていることです。そのことの持つ意味は、講演で触れたいと思います。

AURORAの目指すもの

この間、Aurora関連の資料に目を通していて、一番印象的だったのは、Aurora開発の意図について触れた次のフレーズです。

"It’s with the intent of modeling a world where the Twitters, Googles, and Facebooks are no longer superpowers… just powers." (「Auroraは、次のような世界をモデル化しようという意図をもっている。そこでは、TwitterやGoogleやFacebook達が、もはや隔絶したパワーを持つわけではなく、単なるパワーを持つものの一つであるような世界」)

Auroraの目指すところに、期待したいと思います。

Facebook Parse の世界 --- モバイルアプリ開発とクラウド利用 ---

マルレク2015-2016第一回/5月14日(木) 開催 (終了)
  • 開催テーマ :  「 Facebook Parse の世界 --- モバイルアプリ開発とクラウド利用 --- 」
  • 講    演 : 丸山不二夫
    講演資料閲覧はこちらから。 (データサイズ 11.3 MB)
  • 日時 : 2015年5月14日(木) 19:00 ~ 21:00
    ( 開場 18:30 / 受付 18:30 ~ 19:30 )
  • 会場 : 日本マイクロソフト株式会社 本社 セミナールーム  (品川)
    (東京都港区港南2-16-3 品川グランドセントラルビル)
  • 定員 : 150人 無料(申込先着順)
  • 申込受付開始 : 2015年5月7日(木) 12:00~
  • 受講申込み   : こちらから。  (終了しました)

「 Facebook Pars の世界 --モバイルアプリ開発とクラウド利用-- 」

講演概要

Learn Once, Write Everywhere !

Facebook Parseは、Facebookが提供する、クラウドと協調するモバイルアプリを簡単に作成するためのフレームワークです。Android, iOS, Windows Phone, JavaScript, .NET, PHP, … 等々、数多くのプラットフォームと言語に対応しています。

このことからも分かるように、Facebook Parseのアプローチは、かつてのJavaや近年のHTML5が標榜していた “Write Once, Run Everywhere” のアプローチとは異なっています。Facebook Parseは、それを ”Learn Once, Write Everywhere “と呼んでいます。

それは、HTTPとRESTの考え方を一度学べば、どんな言語でも、RESTでWebアプリのプログラムが書けるのに似ているかもしれません。

Mobile side で、Thin Cloudのプログラミング

現在のクラウド上のアプリやエンタープライズのアプリの大部分は、サーバーサイドのWebアプリケーションです。処理は、基本的には、サーバー側・クラウド側で行われます。

それに対してFacebook Parseの処理は、基本的には、モバイル側で行われます。モバイルアプリですのでそれは当然なのですが、Facebook Parseが強力なのは、モバイルアプリの開発に、クラウドの提供するサービスを最大限有効に利用しようとしていることです。Facebook Parseは、モバイルに閉じたものではなく、モバイル+クラウドの開発フレームワークです。

ただ、その大きな特徴は、クラウド側の処理を開発者がほとんど意識することなく、クラウドのパワーを利用したモバイルアプリの開発が可能となるということです。

Parse Objectがモバイルとクラウドをつなぐ

モバイルからのクラウドのサービスの利用で一般的なのは、モバイルからクラウドのサービスを呼び出すことです。さまざまなプロトコル上で実装されたRPC(Remote Procedure Call)がそれを可能にします。クラウド上のWebサービスの呼び出しも、こうしたPULL型のRPCスタイルです。

ただ、Facebook Parseではモバイルとクラウドの連携は、RPCによってではなく、基本的には、モバイルとクラウド間でParse Objectを共有することによって行われます。Facebook Parseにとってクラウドは、まず何よりも、各種の検索も可能な便利なデータの格納場所です。しかも、多くの場合にはそれがクラウド上にあることも意識する必要もありません。このことは、モバイルのプログラミングをとてもわかりやすいものにします。

それとは独立に、Facebook Parseは、クラウドからモバイルに対する強力なPUSH をサポートしています。

Promise, Parse + React, React Native … Parseの世界の拡大が続いている

Facebook Parseの進化は現在も続いています。

Facebook Parseでは、様々な処理は、デフォールトで非同期のスタイルで行われます。この点では、言語によってサポートにはばらつきがあるのですが、Facebook ParseのPromiseは、非同期処理のスマートな記述を可能にします。

FacebookのWeb UIのフレームワークであるReactも、Parseとの統合が急速に勧められています。Parse + Reactは、Parseの標準的なUI技術になろうとしています。ここでは、Reactive プログラミングの手法が、どんどん取り入れられています。

同時に、React自体も、ハードウェアの性能を最大限に引き出す React Nativeに進化しようとしています。

Facebook Parseの世界の中で起きている、これらの出来事は、非常に興味深いものです。