Schi Heil と叫ぶために

hiroakiuno's blog

書評 - 大世界史 現代を生きぬく最強の教科書

ここ最近日本人以外の人と仕事をする機会が増えた。言語能力の問題で言いたいことが言えなくて苦しむことも多いが、ちょっとした会話の際に文化や歴史認識の間違いが心配で発言をためらうこともある。また地政学リスクという言葉もよく聞くようになった。世界全体がなんだか混乱していて先が不透明だ。
そんな中、中東問題をはじめ特に宗教が絡んでいる最近のトピックスを少しでも理解したいというモチベーションで読んでみた。中東をはじめ、中国、ドイツ、ロシア、アメリカ、沖縄などの幅広い問題が歴史と紐づけて説明されていた。

「情と理」というフレーズがある。最近私の仕事では理の方を強く求められていると感じているが、人間を相手にする以上、論理だけではうまくいかないものもある。なんかあいつ嫌いだからというのはよくある情の一つだが、もっと広く考えると、歴史や宗教に関係する問題もそうだと思う。

だからこそ、主婦やビジネスパーソンにも、歴史を学ぶ意味があります。一人の人間が、人生のなかで経験できることには限りがある。しかし、歴史を学ぶことによって、自分では実際には経験できないことを代理経験できる。こうした代理経験を積むことは、単なる娯楽にとどまりません。より直接的に、人生に役立つのです。論理だけでは推し量れない、現実の社会や人間を理解するための手がかりになるからです。

ごみ × IoT でスマートごみ収集

以前から不便だと感じているものの一つに毎週決められたごみの日がある。この前の年末年始も大掃除を済ませてすっきり帰省と行きたかったがごみの日は次の日で、仕方なくごみは家で年越しした。

前日から出しておけば近隣の問題になるし、かといって明日ついでに出しといてという近所づきあいにも無理がある。最近シェアリングエコノミーとかマッチングビジネスが流行っているのでそれに絡めて「いい感じ」に解決できないかと考えたことはあるが、やはり物理的にもごみで心理的にもごみなので難しい。

そんな中、この問題を別の角度から IoT と絡めて解決しようとする Enevo というサービスを見つけた。

vimeo.com

こちらの PDF によると、ごみ処理コストの約半分は収集・運搬費らしい。そこで毎週決まった日にごみがあろうがなかろうが回収に行くのではなく、ごみ箱にセンサーをつけ、超音波でごみの量を測り、収集側にフィードバックし、効率よく回収するという仕組みだ。

調べると Enevo の他にも Smartbin という類似のサービスや、センサーではなくごみ箱そのものの BigBelly Sorlar というサービスもある。BigBelly Sorlar は日本でも大学のキャンパスを使って実験が始まっているそうだ。

流行りの IoT にあやかったスマート○○というサービスが山のようにあるが、実際にスマートなのはそれほどない。IoT がらみのスマートなよい例として覚えておこう。

big.LITTLE の制御ソフトウェア技術を整理してみよう (その3)

前々回前回からの big.LITTLE の勉強の続き。

続いて big.LITTLE MP (GTS) について。例によって

からポイントを引用すると、

 前回の記事でbig.LITTLE MPもIKSと同じCPUのオペレーティングポイントを使っていると書いたが、これは古い仕様で、現在は異なるという。ARMによると、big.LITTLE MPでは、Linux/Unixでのスケジューラへのキューである「run queue」から得られる「load average」によるCPU負荷の値を使っているという。原則的にはrun queueでの占有率が高くなり、load averageの比率が一定を越えると、そのCPUコアをLITTLEコアからbigコアへと切り替える仕組みだ。

ここで、run queue と load average について調べる。まず run queue というのは実行可能なプロセスが登録されているキューのこと。run queue は CPU ごとにある。

実行可能なプロセスはRUNキューに登録されます。Linuxカーネル2.6のRUNキューは実行優先度ごとにスロットを用意しています。

(略)

マルチプロセッサシステムでは、RUNキュー(activeキューとexpiredキューの組み)をCPUごとに用意します。CPUごとに用意したプロセススケジューラは、そのCPU用のRUNキュー上のプロセスに対して働きます。この構造により、特定のプロセスは、毎回特定のCPU上で実行されることとなり、キャッシュメモリやTLBが有効利用されます。

UNIX USER 2004年6月号「Linuxカーネル2.6解読室」より転載:プロセススケジューラの実装――プロセススケジューリング(その4) (1/2) - ITmedia エンタープライズ

次に load average は CPU 使用率とは異なるシステム負荷指標で、

Linuxロードアベレージは「ロードアベレージは過去1分、5分、15分の間の実行待ちプロセス数の平均数 = 実行したくても他のプロセスが実行中で実行できないプロセスが平均で何個ぐらい存在してるか」を示す値です。ボトルネックが CPU、メモリ、ディスク等々どこにあるかは関係なく、仕事の実行までにどれぐらい待たされているかを示す値なので、システムのスループットを計測する指標の入り口になる値です。
マルチコア時代のロードアベレージの見方 - naoyaのはてなダイアリー

とのこと。

で、big.LITTLE の記事に戻ると、

 big.LITTLE MPではrunqueueから得られるload averageによってCPU負荷の情報を得ている。big.LITTLE MP側には負荷に対するマイグレーションしきい値(migration threshold)が設定されており、それを越えるとコアを切り替える。ただし、LITTLEからbigへとアップする時のしきい値と、bigからLITTLEへとダウンする時のしきい値は異なる設定がされている。

とある。最大のポイントは IKS では「CPU 使用率」を見て「big と LITTLE のコア」をガチャンと切り替えていたのに対し、big.LITTLE MP では「load average」を見てタスクの 「big と LITTLE への割り当て」を変えていることだろう。ちなみに load average と CPU 使用率との違いは

がわかりやすい。

また big と LITTLE が頻繁に切り替わりすぎないようにヒステリシスを設けていることが上記からわかるし、

現在のbig.LITTLE MPの場合は、これまでロードしたことがない新しいスレッドをローンチする場合には、まずbigコアに割り当てる仕様となっているという。

 ただし、この場合、全てのスレッドが必ずLITTLEコアに割り当てられて立ち上がると、ムダな電力消費が生じてしまう。そこで、big.LITTLE MPではヒストリテーブルをスレッド毎に参照することで、負荷が小さいスレッドはLITTLEコアに割り当てる操作を行なっているという

という風に、初期の割り当てをどうするかや履歴を見てインテリジェントに割り当てるなどの工夫がされている。

最後に、IPA と EAS について。前々回に用語を整理していた際は、GTS -> IPA -> EAS という進化なのかと思ったが、もう少し資料を読んでみると big.LITTLE 技術としての進化は GTS -> EAS であって、IPA はその前提となる技術のようだ。少なくとも IPA は big.LITTLE に限った話ではなさそうで、熱の予測を考慮して CPU の電力を変えるという技術のようだ。Linux の mainstream にも取り込まれている。Proactive という単語が強調されているように、IPA のポイントも熱の「先読み」「予測」になっている。

で、IPA も踏まえて GTS を発展させたのが EAS みたい。EAS のポイントは、GTS の load average に加えて、IPA の熱の予測も踏まえ、また従来の DVFS も含めて、負荷/熱/電力/周波数をトータルでコントロールするために big.LITTLE を用いる仕組みということのようだ。

  • Energy Aware Scheduling
    • Integrates CPU capacity awareness, Energy model, DVFS & Idle into mainline Linux scheduler
    • Designed to support a wide range of topologies
    • Prototypes running today

https://s3-ap-southeast-1.amazonaws.com/dgfactor/arm2015/Taipei/A2_ThermalVision_v5_Techcon2_TM_v1+-+Taiwan_Thomas+Molgaard.pdf

その他、まだ全然読めていない記事や参考資料。

big.LITTLE の制御ソフトウェア技術を整理してみよう (その2)

前回の続き。前回は主に用語を整理したので続いて中身の整理。よく知らないものはその都度調べていこう。

まずは IKS について。【後藤弘茂のWeekly海外ニュース】2014年にはメジャーになるARMの省電力技術「big.LITTLE」 - PC Watch からポイントを拾っていくと、

 IKSの利点は、OSのスケジューラに変更を加えず、スケジューラの下で動作する2,000行くらいのコードで実現していることだ。IKSでは、OSのスケジューラからはCPUコアは通常の対称型のSMP(Symmetric Multi-Processor)構成に見えているが、ハードウェア的には非対称なAMP(Asymmetric Multiple Processor)構成となる。

 LinaroのIn-Kernel Switcher(IKS)は、CPUコアを切り替える際に、CPU負荷に応じる。切り替えの遷移ポイントの決定には、CPUコアの電圧と動作周波数を切り替える「DVFS(Dynamic Voltage and Frequency Scaling)」の仕組みを使ってる。LinuxのCPUFreq Governorサブシステムが、CPU使用率をモニタしてCPUの動作周波数を遷移させる。IKSは、DVFSが一定のポイントに達した時にCPUコアをスイッチさせる。

そのため、IKSでは、バーチャルOPP(Operating Performance Point)を設定して、Cortex-A7とCortex-A15それぞれの実際のDVFSポイントにマップしている。OSから見えるのは、バーチャルOPPとなる。

 こうした仕組みを取っているため、IKSではGovernorサブシステムの味付けで、ある程度振るまいを変えることができる。パフォーマンス優先のGovernorなら、より多くbigコアに割り振られることが多くなる。逆に省電力優先のGovernorをベンダーが選択すると、よりLITTLEコアの比率が高くなる。

ここで CPUFreq Governor とか OPP って何なのか調べてみる。

まず CPUFreq というのが一つの単語で、消費電力を抑えたりするために CPU の周波数を上げ下げする linux の仕組みらしい。で Governor は CPUFreq の要素とある。要素というのを Governor と Driver に分けているので、Driver が実体のことだとすると、Governor の方は周波数や電圧を動的に変更するアルゴリズムみたいなものだろうか。

What is CPUFreq?

CPUfreq is a linux kernel framework that monitors the performance requirements of a processor(s) and takes decisions to increase or decrease operating frequency in order to save power and/or reduce leakage power.

CpuFreq Architecture

CPUFreq consists two elements
The Governor - that makes decisions
The Driver - acts based on the decisions made by the governor


DVFS User Guide - Texas Instruments Wiki

1. What Is A CPUFreq Governor?
==============================

Most cpufreq drivers (except the intel_pstate and longrun) or even most
cpu frequency scaling algorithms only offer the CPU to be set to one
frequency. In order to offer dynamic frequency scaling, the cpufreq
core must be able to tell these drivers of a "target frequency". So
these specific drivers will be transformed to offer a "->target/target_index"
call instead of the existing "->setpolicy" call. For "longrun", all
stays the same, though.

How to decide what frequency within the CPUfreq policy should be used?
That's done using "cpufreq governors".

https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt

以下も参考。

また OPP というのは Operating Performance Point の略で、DVFS で切り替える周波数と電力をペアにした単位のことのようだ。

1.1 What is an Operating Performance Point (OPP)?

Complex SoCs of today consists of a multiple sub-modules working in conjunction.
In an operational system executing varied use cases, not all modules in the SoC
need to function at their highest performing frequency all the time. To
facilitate this, sub-modules in a SoC are grouped into domains, allowing some
domains to run at lower voltage and frequency while other domains run at
voltage/frequency pairs that are higher.

The set of discrete tuples consisting of frequency and voltage pairs that
the device will support per domain are called Operating Performance Points or
OPPs.

https://www.kernel.org/doc/Documentation/power/opp.txt

で、IKS のまとめとしては下記がしっくりくる。

LinaroのIKSは、CPU負荷に応じて2つのコアを切り替える。切り替えの遷移ポイントの決定には、負荷に応じてCPUコアの電圧と動作周波数を切り替える「DVFS(Dynamic Voltage and Frequency Scaling)」の仕組みを使ってる。Linuxの場合は、CPUFreq Governorと呼ばれるサブシステムがあり、CPU使用率をモニタしてCPUの動作周波数を遷移させる。IKSは、Governorからの情報で、DVFSが一定のポイントに達した時にCPUコアをスイッチさせる
【後藤弘茂のWeekly海外ニュース】海外のオクタコア版GALAXY S4の「big.LITTLE」ソフトウェアアーキテクチャ - PC Watch

長いので一旦ここで切ってつづく

big.LITTLE の制御ソフトウェア技術を整理してみよう (その1)

http://pc.watch.impress.co.jp/docs/column/1month-kouza/20140626_655176.htmlpc.watch.impress.co.jp
上記の ARM の記事を見つけて、そこからいろいろたどってみたのだが、ARM の big.LITTLE の制御ソフトウェア技術(ユースモデル、ソフトモデルとも書かれている)の表記がいろいろ変わってわかりづらい。そこで Web の記事だけを拾って客観的に整理してみた。

まず一番日付が古い 2011/11/30 の 【後藤弘茂のWeekly海外ニュース】ARMの新省電力技術big.LITTLEプロセッシング - PC Watch によると最初は2個で、

  1. Task Migration Use Model
  2. MP Use Model

http://pc.watch.impress.co.jp/img/pcw/docs/494/357/5.jpg

次に 2013/05/21 の 【後藤弘茂のWeekly海外ニュース】海外のオクタコア版GALAXY S4の「big.LITTLE」ソフトウェアアーキテクチャ - PC Watch によると、分類が3つになり、

  1. Cluster Migration Use Model (Hypervisor Mode)
  2. CPU Migration Use Model (In-Kernel Switcher Mode)
  3. MP (Multi-Processing) Use Model

http://pc.watch.impress.co.jp/img/pcw/docs/600/181/11.jpg

続いて 2013/12/18 の 【後藤弘茂のWeekly海外ニュース】2014年にはメジャーになるARMの省電力技術「big.LITTLE」 - PC Watch および、2013/12/20 の 【後藤弘茂のWeekly海外ニュース】2014年のARMのSoCの中核技術となる「big.LITTLE MP」 - PC Watch では、3つ目が global task scheduling と呼ばれるようになり、MP は括弧の中に入った。

  1. Cluster Migration Use Model (Hypervisor Mode)
  2. CPU Migration Use Model (In-Kernel Switcher Mode)
  3. Global Task Scheduling (big.LITTLE MP)

http://pc.watch.impress.co.jp/img/pcw/docs/628/049/10.jpg

http://pc.watch.impress.co.jp/img/pcw/docs/628/480/01.jpg

さらに最近の 2015/11/28 の 【後藤弘茂のWeekly海外ニュース】Cortex-Aファミリーのダイエリアの変化から見えてくる次世代ARM CPU「Artemis」 - PC Watch では Heterogeneous がついた。

  1. Cluster Migration Use Model (Hypervisor Mode)
  2. CPU Migration Use Model (In-Kernel Switcher Mode)
  3. Global Task Scheduling (Heterogeneous Multi-processing)

http://pc.watch.impress.co.jp/img/pcw/docs/732/643/MP.png

経緯を拾っていくと、Cluster Migration Use Model は Task Migration Use Model の名称が変わったもの。

しかし、その後、ARMは路線を変更した。2012年秋の同社のカンファレンス「ARM Techcon」では、タスクマイグレーションと呼んでいたモデルを「クラスタマイグレーションモデル(Cluster Migration Model)」に名称変更。その上で、クラスタマイグレーションはプロトタイプのみで終わり、実際の製品向けには提供されないことになった。
【後藤弘茂のWeekly海外ニュース】海外のオクタコア版GALAXY S4の「big.LITTLE」ソフトウェアアーキテクチャ - PC Watch

また、技術の名前かソフトの名前か、Linaro が実装するか ARM が実装するか、で同じものでも呼び名が別になっている様子。

ここで用語を整理しておくと、Linaroの「big.LITTLE In-Kernel Switcher(IKS)」とARMの「big.LITTLE CPU Migration」は全く同じものだ。それに対して、big.LITTLEのCPUコアをOSスケジューラで効率的に使う技術自体のARMでの名称が「Global Task Scheduling(GTS)」。そして、GTSのARMでの実装が「big.LITTLE MP」パッチセットとなっている。また、big.LITTLE MPは、Linaroでは一時「Heterogeneous MP(HMP)」と呼ばれていた。さらに、現在Linuxコミュニティで議論されている、big.LITTLE対応も含む電力対応タスクスケジューラは「Power-Aware Scheduler」などと呼ばれている。
【後藤弘茂のWeekly海外ニュース】2014年にはメジャーになるARMの省電力技術「big.LITTLE」 - PC Watch

ARMベースSoC(System on a Chip)の省電力技術「big.LITTLE」。big.LITTLEでは、現在、2種類のソフトウェアモデルが提供されている。1つは、Linaro(ARMベースのLinuxコアテクノロジの共同開発のための非営利エンジニアリング組織)が開発した「big.LITTLE In-Kernel Switcher(IKS)」。これは「big.LITTLE CPU Migration」とも呼ばれる。

 もう1つは、ARMが開発した「big.LITTLE MP」で、「Heterogeneous MP(HMP)」とも呼ばれる。ヘテロジニアスな構成のCPUコアを、拡張したOSスケジューラで使う技術コンセプト「Global Task Scheduling(GTS)」の現在の実装のパッチセットがbig.LITTLE MPだ。前者はLinaro、後者はARMで、しかも両者でそれぞれの呼び方が異なるためやや混乱しがちになっている。
【後藤弘茂のWeekly海外ニュース】2014年のARMのSoCの中核技術となる「big.LITTLE MP」 - PC Watch

またこちらを見ると

What’s the difference between "Global Task Scheduling" and "big.LITTLE MP"?
Global task scheduling is the technique of using all cores under control of the scheduler. The big.LITTLE MP patchset is a set of ARM-developed scheduler enhancement that implements the GTS technique.

LDTS

とある。上の記事はこれの和訳に近いかも。

OR を取るとこんな感じ。

  1. Cluster Migration Use Model
    • Hypervisor Mode
    • 旧名は Task Migration Use Model
  2. CPU Migration Use Model
    • Linaro は In-Kernel Switcher (IKS) Mode と呼ぶ
  3. MP (Multi-Processing) Use Model
    • すべてのコアをOSスケジューラで効率的に使う技術自体のARMでの名称が Global Task Scheduling(GTS)
    • GTS の一実装であるパッチセットを big.LITTLE MP と呼ぶ
    • big.LITTLE MP は HMP (Heterogeneous MP) とも呼ばれる

ところで ARM TechCon 2015 という ARM のイベントでこの辺の最新状況が話された様子。

このイベントの直接の資料は見つからないが、探してみると似たようなイベントが台湾であり、同じタイトルでそこには資料が置かれていた。

この p.17 を見ると、

  • HMP
  • HMP, IPA (Intelligent Power Allocation)
  • IPA, EAS Gen1 (Energy Aware Scheduling)
  • EAS + IPA Gen2

という感じで MP Use Model の技術がさらに進化している様子がわかる。

以上、まずは用語を整理してみた。つづく

書評とまとめ - 人工知能は人間を超えるか ディープラーニングの先にあるもの

バズワードと呼ばれるほど盛り上がっている人工知能。その鍵となるディープラーニング。著者は実力以上のブームに警鐘を鳴らす一方で、本のタイトルである「人工知能は人間を超えるのか」に対して次のように答えている。

人工知能は人間を超えるのか。答えはイエスだ。

もしかすると自分が生きているうちにそんな時代が来るのかもしれない。

最近の人工知能について知りたければまずはこの本からというレビューが目立つだけあって確かにわかりやすい。前半は機械学習ニューラルネットの歴史を踏まえながら今のディープラーニングに至るまでの技術的な説明。後半は我々社会への影響と今後の課題および熱いメッセージだ。

まずはブームに警鐘を鳴らす方の冷めた部分の整理から。

ちょうどこの本を読んでいる時と同じタイミングで以下の3つの記事を読んだ。世界トップレベルの技術をもってしても、ドローンは着地すらできないし、ロボットが攻めてきてもドアを閉めれば十分で、ネズミにも昆虫にも勝てないレベルらしい。

また、産総研イベントでも次のように言っている。

今の人工知能ブームについて、1980年代の第2次ニューロブームのときのことを思い出さざるを得ないと述べて、これまでの人工知能研究の歴史を振り返り、警告を発した。今の人工知能技術の基礎はいずれも当時出てきたもので、そこから本質的な飛躍はないという。
【森山和道の「ヒトと機械の境界面」】しなやかに人間によりそえる人工知能を ~産総研 人工知能研究センター(AIRC)始動へ - PC Watch

それでもなぜディープラーニングにここまで期待が集まるのか。著者は次のようにまとめていた。

人工知能の60年に及ぶ研究で、いくつもの難問にぶつかってきたが、それらは「特徴表現の獲得」という問題に集約できること。そして、その問題がディープラーニングという特徴表現学習の方法によって、一部、解かれつつあること。特徴表現学習の研究が進めば、いままでの人工知能の研究成果とあわせて、高い認識能力や予測能力、行動能力、概念獲得能力、言語能力を持つ知能が実現する可能性があること。そのことは、大きな産業的インパクトも与えるであろうこと。知能と生命は別の話であり、人工知能が暴走し人類を脅かすような未来は来ないこと。それより、軍事応用や産業上の独占などのほうが脅威であること。そして、日本には、技術と人材の土台があり、勝てるチャンスがあること。


続いてディープラーニングの技術面。ネットにはいろんなレベルの解説があるが、この本を読んで、要はこれまで特徴量だけは手動で決めていたのを、自動で獲得できるようになったことが一番のブレークスルーだと言ってよいことがわかった。

本書からいくつかポイントを拾ってみる。

ディープラーニングが従来の機械学習とは大きく異なる点が2点ある。1つは、1層ずつ階層ごとに学習していく点、もう1つは、自己符号化器(オートエンコーダー)という「情報圧縮器」を用いることだ。

ところが、その実、ディープラーニングでやっていることは、主成分分析を非線形にし、多段にしただけである。

そのためにどういうことをやるかというと、一見すると逆説的だが、入力信号に「ノイズ」を加えるのだ。

たとえば、ドロップアウトといって、ニューラルネットワークニューロンを一部停止させる。

画像認識の精度が上がらなかったのは、頑健性を高めるためにいじめ抜くという作業の重要性(専門的に言うと、正則化のための新しい方法)に気づいていなかったため、そして、そもそもマシンパワーが不足してできなかったためである。

実際、多くの研究者が考えていた「自己符号化器をベースに特徴量を多段にしていけばよい」という予想は正しかったのである

自己符号化器と主成分分析にはいくつか違いがある。まず、自己符号化器の場合には、非線形な関数を用いている(というより、任意の関数を用いることができる)。2つ目は、主成分分析では通常、第二主成分は第一主成分の残余から計算されるので、第一主成分の影響を強く受ける。第三主成分は、第一、第二主成分の影響を強く受ける。したがって、高次の主成分になると、ほとんど実質的な意味がなくなってくる。

いまディープラーニングで起こりつつあることは、「世界の特徴量を見つけ特徴表現を学習する」ことであり

この事前に教師なし学習で特徴量を学習することを pre-training と呼び、pre-training の結果を用いて全体で教師ありで学習すること fine-tuning と呼んでいるようだ。

その他参考

私の pre-training の理解をまとめるとこんな感じ。

  • 入力データの集合を再現できるように教師なし学習で特徴量を学習すること。本書では「教師あり学習的な方法による教師なし学習」と表現していた。
  • 1層ずつ階層ごとに学習していく点と autoencoder (自己符号化器) で入力と出力が同じになるように学習(パラ―メータの調整)する点がポイント。
  • 入力信号に「ノイズ」を加えて頑健性を上げる。
  • ドロップアウト (過学習を防ぐため、隠れ層のパラメータをランダムに使わないようにして学習する) が精度に貢献している。

(2015/12/20 追記)
1層ずつ学習していくというのはこちらがわかりやすい。これによって gradient vanishing 問題を回避するとある。

また、autoencoder についてはこちらに1万円札を渡して1万円札をうけとるようなものという表現がされていてそんなイメージ。

「1万円札をお店の人に渡して、1万円札をうけとるようなもの」(「考える脳 考えるコンピュータ」J.Hawkins)
http://www.gdep.jp/seminar/20150526/DLF2015-01-MATSUO.pdf

一方で、これだけ盛り上がってしかも結果も出ているにも関わらず、ディープラーニングにはまだまだ解明できていない部分があるらしい。

冒頭に述べたような圧倒的な性能を示した深層学習ではあるが,課題は山積している.

まず,理論面的に解明されていない部分が数多くある.pre-trainingを採用したことによる誤差はどれくらいか?他にも効率のよい学習法はあるのか?pre-trainingが特徴の学習であるとするならば,既存の非線形次元削減や特徴生成とは何が違ったのか?その違いの本質が解明されれ,大規模データとそれにみあう複雑度のモデルが扱うことが可能であるならば,ニューラルネット以外でも深層学習と同等のモデルが獲得できるのか?

一方で,実用面でも,現状では調整すべきパラメータが多く性能を発揮するには忍耐強い調整を必要とするともいわれている.複雑なモデルの獲得には,大規模データを処理できることが必須となるが,並列計算手法の改良はまだまだ必要であろう.
人工知能学会誌 連載解説「Deep Learning(深層学習)」 | 人工知能学会 (The Japanese Society for Artificial Intelligence)

先の産総研のイベントのページでも以下のように言っていて、正直課題は昔と大きく変わっていない。

川人氏は、ニューラルネットワーク学習の最大の困難は、オーバーフィッティング、汎化能力の欠如、次元の呪いだと改めて指摘した

それでも前に前進していることには変わりない。本の後半で著者が述べているのは今後アカデミア(研究・オープン)とインダストリー(企業・ビジネス)のバランスが大事だということだと思う。

逆に言うと、特徴表現学習の部分を特定の企業に握られたり、ブラックボックス化されたりすると、非常にやっかいなことになる。特徴表現学習のアルゴリズムがオープンにならず、「学習済み」の製品だけが製造・販売されることになると、リバースエンジニアリングで分解したり動作を解析したりして仕様や仕組みを明らかにすることが不可能である。

パソコン時代にOSをマイクロソフトに、CPUをインテルに握られて、日本のメーカーが苦しんだように、人工知能の分野でも、同じことが起きかねない。

現在、ディープラーニングに代表される特徴表現学習の研究は、まだアルゴリズムの開発競争の段階である。ところが、この段階を越えると、今度はデータを大量に持っているところほど有利な世界になるはずだ。そうなると、日本はおそらく海外のデータを持っている企業に太刀打ちできない。世界的なプラットフォーム企業が存在しないからだ。

IoT およびそれに伴うビックデータというもう一つのブームと合わさって「ビックデータx人工知能」は今後のテーマとなる。繰り返しだが、もしかすると生きているうちにそんな時代が来るのかもしれない。今がその転換の最中なんだろうか。

dマガジンの今後の行方は要ウオッチ

ケータイ変えたときに強制的に加入することになったドコモのdマガジンが結構いいので継続したままにしている。月額400円で雑誌160誌が読み放題のサービス(2015/11/24現在)。

結構いいというのは、きっとこういうサービスでなければ手に取ることがなかったファッション誌やグルメ雑誌をぱらぱらとめくるのが結構楽しいのと、スタッフおすすめ記事という形で提供される雑誌間をまたいだ記事の直リンクへのまとめがトレンドを知るのに便利だからだ。今だと下町ロケットとか、パリ同時多発テロ事件とかディズニー&USJ Xmas とか多くの雑誌で取り上げている特集記事を横断して読むことができる。ちょっと前は iPhone 6s 解説や福山結婚記事とか。同じネタを雑誌横断で読めるのは電子&読み放題ならでは。

リアル雑誌と比較して、電子版用に一部割愛されているが文句はないレベル*1。リアル雑誌を買っても隅から隅まで読むことはほぼのないので、気に入った記事だけを読んでゴミが残らないのはよい。

ビジネスモデルとしてはユーザーの読んだ割合に応じて出版社に配分される仕組みになっているらしい。

現在はユーザーの課金収入の55%を出版社へ配分し、雑誌あたりのユニークユーザー数(期間内の訪問者数のこと)に応じて毎月配分している
スマホで「雑誌読み放題」人気はどこまで? | 企業戦略 | 東洋経済オンライン | 新世代リーダーのためのビジネスサイト

8月で200万人とあるから、400円 x 200万 x 0.55 = 4.4億円/月。その160誌での分配だからそんなに大きな金額ではない。

システムはKADOKAWAグループで電子書籍ストアを手掛けるブックウォーカーに委託しているらしい。で、そのカドカワは儲かっているとある。カドカワは 45%側なんだろうか。

ドコモのいろんなサービスは強制加入&解約忘れで儲けているのではないかという不信感が少しあるが、400円はコストパフォーマンスがよい。今後400円がキープできるのか、儲からないということで1年後にはなくなるのか、専門誌などさらに取り込んで月額料金の高いコースをつくる方向に行くのか、割愛されたページが解除されていくのか、他の漫画読み放題などのサービスと統合したりするのか、もう少し見守りたいと思う。

*1:こちらによると約7割らしい。例えばお色気系は完全削除。一部健全なグラビアは雑誌によっては載せているものもある。