ウィリアムのいたずらの開発日記

ウィリアムのいたずらが、コンピューター関係について、思ったことを好き勝手に書いているブログです。

学力がない子どもは上手にググれない

2017-03-22 23:18:40 | ネットワーク
やはり「学力」は高いほうがいい。

学力がない子どもは上手にググれない
http://diamond.jp/articles/-/120992

この記事をはてなブックマークに追加

1+1=2って、何時習いました?

2017-03-22 16:38:55 | Weblog
下の記事で言っているように、たしかに、大学で習った。
よくわかんなかった・・・

小学生の頃『1+1』で強迫神経症に そんな時、医師のひと言が心を救った
http://grapee.jp/308053/2



この記事をはてなブックマークに追加

Java EE 8とMicroprofileをきいてきた!

2017-03-22 01:07:25 | JavaとWeb
3月21日

JJUG ナイト・セミナー 「Enterprise Java最新動向~Java EE 8とMicroprofile~」
https://jjug.doorkeeper.jp/events/58535


を聞いてきた!のでメモメモ




■JavaEE8最新状況について
・JavaEE8 What's coming
・JavaEE8 FIXしていないので、かわるかも

・3月時点での最新情報
 2017年3月13日GlassFish5のPromotedビルド
 2種類のビルド Promootedビルド、Nightlyビルド

・JavaEE8のスケジュール
 4月5月 パブリックレビュー
 今年7月 ファイならいず
→ことしの9月か10月にGlassFish5

・JavaEE8の仕様
 JSON-B、セキュリティ
 現状のステータス
  MVC1.0はドロップ→コミュニティに移管

・Java EE8 各Specificationとサンプルコード
 JAX-RS2.1:REST
  2.1で追加された
   Reactive Client API
   サーバーセントイベント
   ノンブロッキングIO
 Jax-RS振り返り
  1.1 サーバーサイドの実装のみ
   クライアントは標準化されていない
    Jersey,ApacheCXFが独自に用意しているもの
  2.0 クライアントAPI登場
    複雑な呼び出しもできる
    同期型
    非同期呼び出し async()インボーカーを呼び出すだけ
            返り値はFuture、コールバックも
     →リアクティブ・プログラミング・モデル
 JAX-RS2.0
  リアクティブ・プログラミング・モデル
   →コールバックのネストで実装
    コールバック・ヘル
 JaxRS-2.1 rxインボーカー
  CompletionStageが返り値
 ScalaのFutureはチェインを組めるが、JavaのFutureはできない
  →そこでCompletionStageが出てきた

・Server Sent Eventの特長
 Jerseyではすでに→標準化を行った
 SseEvent:
   SseEventSourceが受ける
 2月時点でのAPI変更:Jersey独自実装がなくなった

・JSON-P1.1
  JSON新仕様(RFC 7159)に対応
   JSON-P1.0ではJSON RFC 4627
 →新仕様では、TOPレベルに何でもおける
   RFC 6901
  JSONポインタで中を見れる

  JSON Patch
   RFC 6902:部分的変更、演算、JSONドキュメントの変更
   Diff
   StreamAPIに対応
    JSON collectors

・JSON-B
 コンベンションオーバーコンフィグレーション
   アノテーション、コンフィグ不要
   プロパティ名のカスタマイズ
    無視する、フィールドの可視化、NULL
    フォーマット指定(ddmmyy)
    アダブタ

・プロバイダ
 もきしー
 べうのプロバイダを指定できる

・サーブレット4.0
 HTTP2サポート
  HTTP1 テキストベース
  HTTP2 1つの物理接続を論理でいくつもに分ける
   →優先度
    HTTPあっぷぐれーど

・JSF2.3
 CDI統合:今までのManaged Bean非推奨
 JavaEEコンテナの外部でもCDI動作

・CDI2.0
 BeanValidation 2.0 JSR380

・セキュリティAPI
 JSR375
 いままで標準化なされていなかった
  AAuthentication
  Identity Store
  セキュリティコンテキスト





■MicroProfile 背景と意義、そしてこれから
 講師 富士通の人

・自己紹介
・Microprofile.io
 ミッション
  エンタープライズじゃヴぁ、マイクロサービス、ゴールは標準化
 →JavaEEでよいのでは?

・マイクロサービスアーキテクチャ
 疎結合、
 意思決定の早さ
 フィードバックループ(OODAループ)を早く

・MSAレイヤーと要素技術
 サービス分割、ステートレス、API アプリケーション
 メモリー、REST、非同期 アプリケーションサーバー→マイクロプロファイル
 サーバーレス、IaaS,PaaS,Docker VM/コンテナ

・JavaEEにもプロファイル
 JavaEEにプロファイルを追加できるのはOracleだけ

・JCPステージ
 イニシエーション
 どらふと
  アーリードラフトレビュー
  パブリックレビュー
 ファイナルリリース
  RI(参照実装)&TCK(テスト実装)

・JavaEEでるの?:今EDR
 GlassFishのイシュー V4以降はない:活発でない?
 JavaEEに乗れない
  →JCPのプロセスがアジャイル的ではない

・仕様が先?実装が先?
 仕様が先:適切な競争     JCP
 実装が先:イノベーション向き Linuxカーネル
 →もともとはOpenJDKで

・JCP VS OpenJDK
 OpenJDK
  JavaSEのRI JSRによる開発 JCP
  JDKのオープンソース JEPによる開発 OpenJDK

・OpenJDKとMicroProfile
 似ているところ
  Microprofileの仕様がJavaEEの仕様
  開始からFIXまでの時間が短い→議論しないから
 違い
  OpenJDK:競争原理働かない
  Microprofile:競争あり。複数ベンダーで実装

・MicroProfileとは
 2016年6月設立 レッドハット、IBM,ぱやらなど
 2017年1月 富士通参加表明
      2Q  1.1リリース予定

・アジャイル的にOODAループをまわす。最終的にはJCP
  マイクロプロファイル提供
  市場評価→最終的にはJCP

・1.0 2016年9月 JavaOneでリリース
  JAX-RS、CDI,JSON-P
 1.1 2017年2Q
   フォルトトレランス

・configration API
 設定の外だし、設定動的反映、複数の設定で構成
 アノテーションも使えるように
・JWT RBAC OpenID ConnectベースのRoleBased Access Control
 優先度高いといわれたが、進んでいない

・サービス ヘルスチェック
 アプリケーションのヘルスチェックをするREST エンドポイント仕様
 Kubernetes helth check互換
  プロデューサーとコンシューマー
  @Healthが書いてあると

・フォルトトレランス
 エラーハンドリングを分離する機能
  リトライポリシー
  フォールバック
  サーキットブレーカー:3つの状態 クローズド、オープン、ハーフオープン
  バルクヘッド
  タイムアウト

・サマリ
 オープンイノベーション
  フィードバックループによるマイクロサービスを実践
 アプリケーションポータビリティ
  実装を選択可能
・最終的にはJCP


この記事をはてなブックマークに追加

WATSON VS TensorFlowとか

2017-03-21 20:46:13 | BigData
3月21日

OSSユーザーのための勉強会 < OSS X Users Meeting > #18 AI / Deep Learning


を聞いてきた!のこうはんをメモメモ
(表題の件は一番最後)



■Apache SparkとDeepLearningについて
・自己紹介

・アジェンダ
 Apache Sparkのおさらい
 DeepLearningのおさらい
 SparkでDeepLearningはどうか?
 既存のDeepLearningFrameworkの問題はどこにあったのか
 DeepLearning4J On Sparkはどう動いているのか
 Tensorflow On Sparkはどう動いているのか

・Sparkとは
 従来Hadoopで難しかったビッグデータにおける
 アドホック分析や二アリアルタイム処理を実現するための
 Inmemory分散並列処理フレームワーク

 HDFS、Cassandraなどとあいしょうよい
 YARN,Mesos、Standaloneの3種類の分散処理基盤

・Sparkはどう動くのか?
 SparkとはRDDとDAGをコアコンセプトとして設計された
 分散並列処理フレームワーク

 ドライバプログラム→ワーカーノード→ステージ1
           パーティション 計算

・Sparkでマシンラーニング
 MLibは大きく2つの実装に分かれる
  spark.mlib
  spark.ml

 どちらを使えば
  spark.mlを使ってください
  mlibは2系でメンテへ

 そもそもMLとは
  データから新たな価値を見出すための手法の1つ

 MLでは前処理が重要
  前処理8割といわれるほど、データサイエンスの占める作業のうち、大部分がこの作業
  前処理の例
   フィールドの高度化(性別変換・カテゴリ変換)
   ID変換(Join,CookieSync,ジオコーディング)
   集計(GroupBy,Sum,Max,Min)
   形態素解析系処理(構文解析、分かち書き、ストップワード)
   名寄せ(表記ゆれ)
   クレンジング(無効値処理、欠損値補充、外れ値補正)
   画像系処理(特徴抽出、スライス、サイズ変換、グレースケール)
  背景
   データは分析されることを前提としていない
   こういった配慮は事業において負荷となる

・従来の課題は何か、Sparkがなぜマッチするのか
 こうしたタあ酔うな前処理は従来のHadoopEcosystemでの実現は難しかった

・DeepLearningとは
 機械学習のひとつであるNNの層を重ね高精度な予測・分りぃ処理を行うための手法
 例:VGG16

・SparkでDeepLearningはどうか
 MLibだけではDeepLearningは難しい(多層パーセプトロンはある)
 2.1でも難しい
   
 16年に各DLフレームワーク
  DL4J on Spark
  Caffe On Spark
  TensorSpark
  Distributed Keras
  Sparkling Water
  TensorFlowonSpark
 追加されているが、すでにメンテされていないリポジトリも多く存在

・既存のDeepLearningFrameworkの課題
 機械学習の基盤とDeepLearningの基盤を別に作る必要がある
 pipelineを構築するために別のプログラムを書く必要がある
  Hadoop/Spark Clustor
   1.前処理
   3.モデル適用

  DeepLearning Cluster
   2.DL学習・テスト

 ネットワーク

・DeepLearning4Jを例にSpark上でのDLを見てみる
 データを設定に基づいて分割
 ニューラルネットの形による

・TensorFlow On Spark
  Tensor同士でやり取りしたり
  RDMA:リモートダイレクトメモリアクセス
  Infinibandを使った処理、RCP

・Spark+DeepLearningのまとめ
 ディープラーニングだけを使うということにはならない
 前処理、機械学習のパイプライン:Spark
 高速処理:RDMAなども




■TensorFrowの特徴と最新動向
 いち早く人工知能テクノロジーを取り入れた製品・サービスを

・会社紹介
  XEENUTS社と共同事業 AIシステムインテグレーター
 人工知能研究開発支援
  やっても結果がでない:先行投資が必要→経営者対象
 一般物体検出ソリューション:classcat objdetector
  GPU必須

・いち早く人工知能テクノロジーを取り入れた
 製品・サービスを市場に展開するには?

 機械学習の実現方法
  訓練済みを投入する
   クラウドベンダーのものを使う:APIで使える
  訓練から
   お客さん固有のもの:訓練必要:環境→訓練用プラットフォーム
   ここでケチると・・

 順番
 ・パブリッククラウドベンダーの訓練済みサービスの活用
 ・パブリッククラウドベンダーの機械学習フレームワークサービスの活用
 ・オープンソースの活用
 ・ゼロから構築

Google:
 TensorFlow搭載した形で
 Google Next
AWS:
 オープンソースを用意
マイクロソフト:
 半分ぐらいプレビュー
IBM
 Watson
 Apache System ML

オープンソース
・TensorFlow だんとつ
・Caffe   半分くらい
・Keras
・MS-cognitive toolkit(CNTK)
・MXNet CNTKを抜く。AWSがコミット
・torch7
・Theano
・Chainer
・Apache SystemML
→GPU対応。分散

TensorFlowとは?
 Machine Intelligenceのためのオープンソースソフトウェア・ライブラリ
  1.0:XLA(JITコンパイラ)を実験的に
  もっとも普及している

特徴:
・柔軟性、ポータビリティ
  訓練済みは動く
  研究と製品の連結:ビジネスで使っているものを出している
 JITコンパイラ

なぜ、オープンソースにしたの?
・訓練データ:すべては別
  共通なプラットフォーム:
   パートナーシップ On AI:パブリッククラウドベンダー4社

・TensorFlowでGoogLeNet(Inceptionモデル)を実装
・TensorFrowAndroidアプリを実装(CIFAR-10モデル)
・TensorFlow Playground、TensorBoard
  http://playground.tensorflow.org/
・訓練済み
 NoW Photos 音声認識
 
・OpenPOWERファンデーション
 OpenPower+NVidiaP100なら2.2倍高速
 →IntelからPowerへ Power9

・PowerAI戦略
 ディープラーニングを早く、速く

・IBM LinuxOne発表
 メインフレームでLinuxを動かし、機械学習も




■WatsonとOSSのAI/
・自己紹介
・目次
 第一部 IBM Watson紹介
 第二部 OSSのかかわり

・人工知能研究とコグニティブ・システム

・IBMはちょと前までAIという言葉を使っていない
 →コグニティブ
 →Augmented Intelligence

・コグニティブ・システムの特徴
 ~従来のコンピューターシステムとの違い
  理解・推論・学習
 ~人と対話をし、必要な情報の探索や高度な意思決定を支援する
  Interacting

・Watsonコグニティブシステム
 データ:コーパス
 自然言語処理・知識表現・機械学習・ディープラーニング
 Watsonコグニティブ・サービス
 照会・応答/探索 発見

・例
 顧客接点:対話型自動応答
  →実際にサービスイン
 探索:Watsonの知識探索・活用ソリューション ベイラー医科大学との共同研究
  →基本はルールベース
 意思決定支援:かんぽ生命 保険金支払い審査業務

・ところで、WATSONとは何なのか?
 いろんな意味のWATSON

 クイズに買ったWATSON:特注品
 「先進的な」WATSON:人手をかけて作っている
 「普通の」WATSON:APIをつないで作る→顧客接点系

 これからの話は普通のWATSONの話

・WATSON API
 NLC(なしょなるらんげーじくらすふぁいやー)
 質問やテキストに含まれる1つまたは複数の意図を判定する機能
  →意図を判断するためコグニティブ

・R&R
 複数ある検索結果の優先順位を学習によって変更する仕組み
 OSSのSolrそのまま:順位付けを変えるのに機械学習

・Visual Recognition
 事前学習あり2つ
 事前学習なし2つ
 画像トレーニング:DeepLearning
  果物の判別

・Discovery
 まだ日本語対応できていない
 情報探索系統合プラットフォーム
  データ取り込み機能
  エンリッチ機能
  ストレージ機能
  検索機能:Elasticsearch

第二部 WatsonとOSSのかかわり
・Watson開発環境としてのOSS
 Watson API構成要素としてのOSS
  R&RとSolrの関係
  DiscoveryとElasticSearchの関係
 WatsonとOSS機能レベルの比較例
  VRとTensorFlow

・Github:IBM 戦略的提携
 WatsonDevelopersCloudをGithubに構築

・Watson開発環境としてのOSS
 勝手にBlueMixにインスタンス作ってサンプル見れる

 Kibanaの利用:ログ分析に

・WatsonAPI構成要素としてのOSS
 R&RとSolrの関係
  冗長構成もAPIが裏でやってくれます
  日本語Kuromojiが使われている
  APIのfselectで行うとRanker呼び出し
 Discoveryとelasticserch:scoreをそのまま使う
  IBM独自の機能も入っている
  queryだとスコアも

・機能レベルの比較
 VRとTensorFlowサンプルアプリとの比較
  業務パッケージとStruts2とどっちがいい?というくらい意味のない質問

 トレーニングイメージ数
  VR:50個さいてい

  http://yann.lecun.com/exdb/mnist

  に公開されている手書き文字で学習させる
  VRいい結果 TensorFlowより
  VRがいい理由
   第1層、2層は学習済みなので


 

 


  


この記事をはてなブックマークに追加

ディープラーニング話とかCaffeの特徴の話とかを聞いてきた

2017-03-21 16:00:13 | BigData
3月21日

OSSユーザーのための勉強会 < OSS X Users Meeting > #18 AI / Deep Learning


を聞いているんだけど、前半の休憩時間までをめも
途中から行ったので、はじめのほうは切れている)




■途中から

・AIとは何か
 ダートマス会議から60周年
 強いAI,弱いAI

・AIの簡単な歴史
 第一次AIブーム
 第二次AIブーム
  AI冬の時代
 第三次AIブーム
  データマイニング・ディープラーニング(応用中心)
  統計的機械学習が牽引

・第三次ブームのAIは何が違うのか
1.統計的機械学習デー玉イニング
2.ニューラルネットワークの復権
  真相学習
3.AI実用化ブレークの背景
 ビッグデータ、IoT

・研究としてのAI
 メインストリームでは論理・記号・可読可能な知識を扱うAI
・機械学習MLはAIのごく一部
  さらにニューラルネットワークはMLの一部
   さらにディープラーニングはNNの意一部
・AI=シープラーニングというのは間違い
・NNとAIの関係
 黎明期は蜜月
 80年代のAIブームでは反目
 最近ディープラーニングの流行とともに表面的な蜜月

・AIここ数年のトピック-第三次AIブーム
 統計的機械学習、データマイニング
 機械学習
  教師あり分類学習、学習行動(強化学習)
  教師なしクラスタリング
  半教師あり学習→クラスタあり
  トランスタクティブ学習

 (教師あり)分類学習:データを暮らすA,Bに分類したい

  訓練データ-機械学習アルゴリズム-判別学習

・統計的機械学習
 応用数学に基づく機械学習
  =統計数学、OR
 基本的な枠組み
  学習問題=最適化問題に変換して解く
  目的関数、制約式で形式化

・統計的機械学習の例:SVM
 応用数学に基づく機械学習
 例:SVM(サポートベクターマシン)
  理論的基盤は明確&経験的にも高性能
  早く解けるし(ラグランジュ乗数法)、いいことを証明
  ドメインによっては、ディープラーニングよりいい精度
  非線形:カーネルトリック
 行動学習
  Q-learning,TDA・・・
 教師あり学習
  SVM、K-NN、ナイーブベイズ、Case-Based Reasoning、ニューラルネットワーク
  アンサンブル学習:弱学習き:ランダムフォレスト、バギング
  決定機
 教師なし
  k-means,k-means++,階層的クラスタリング
 半教師あり学習
  トランスタクティブ学習
 進化学習
  クラシファイアシステム
 対話しながら

・ディープラーニングDL VS 統計的機械学習SML

・適切な特徴量が得られた場合
 DLでもSMLでもいい勝負
  適切な特徴:画像ではSIFT+bag of featureなど
 →いきなりRAWデータ
 いい特徴量がわからない場合
  最初の2、3層で特徴量が学習できる場合
  簡単に使え、そこそこの性能はDL,学習できない場合も多い
   うまくいく場合、お手軽に使える
  今後はDLとSMLの定量的組織的パフォーマンス比較が必須
 DL偏重はよくない
  有効な特徴の有無を元に、SMLとDLを使い分けるべき
  ある程度のマンパワーとマシンパワーが必要

・昔
 アルゴリズム5つ書かないといけなかった
 10年前くらいからアルゴリズムをライブラリにして無料公開
 DL,SMLともPythonを中心にライブラリ環境が充実 SMLはRでも
・しかしながら
 ライブラリは自由度が低い
 中身見えない
 制限されたハイパーパラメタ
・懸念
 アルゴリズムを理解せずに使ってしまう
 本当に上手に使えるのか

・NNの復権 ディープラーニング
 脳の視覚野の処理を改良
 ネオコグニトロン(福島1979)

・成功例
 1.一般物体認識
 2.テレビゲーム(DQN)
 3.Googleの猫
 4.AlphaGo

・DL成功例:一般物体認識 1000、2000の分類
  IMAGENET
・AlphaGo
 ディープラーニングはごく一部
 評価関数の学習の一部に使われている
 強化学習とモンテカルロ木探索

・ディープラーニングは万能ではない
 おびただしい数のパラメータ
 黒魔術的チューニング
 ノード数、重み初期化
 膨大な訓練データを持っている会社しか使えない
 理論的な基盤の欠如:日本のNN研究者は敬遠気味
 うまくいく・いかないか予測不能

・失敗例: ないている人はいる
 「Deep Learningをサービスに導入したい!」人が泣かないために知っておきたいこと
 グーグルにも分からない機械学習やディープラーニングの使い道

・AIの得意不得意
 得意
  静的データ、閉じた世界(室内○、屋外X)
 不得意
  物理世界、ロボット DARPA ロボティクスチャレンジ
  優勝したものでも5倍、8倍速しないと・・

・自動車の自動走行
 テスラ車の最初の事故:よそうしてないこと
 アドバンスドチェス
  カスパロフ
 →ゲームは閉じた世界

・協調する人とAI:インタラクティブAI
 人がロボットに仕事を教える




■Caffeの特徴と最近の動向~CNN RNN~
・自己紹介
・Caffeとは
・そもそもDeepLearning
 単純パーセプトロン:一定の閾値で発火
  AND,OR,NAND→重みとバイアス変化で論理回路を変えられる
  →線形のみ
 多層パーセプトロン
  XORも表現できる
 ニューラルネットワーク
  入力層 隠れ層(中間層) 出力層
 さまざまな活性化関数
  step
  シグモイド
  ReLU(れる)
 出力層では
  softmaxも
 逆方向に誤差を伝播:バックプロパゲーション

・Caffe
 GPUとCPUをシームレス
 AWSを利用した構成の例
 動作環境が豊富;Ubuntu、OpenCV
 コミュニティが活発
 レファレンスモデルが豊富:Model Zooというフレームワーク
 ドキュメント充実
 おもに画像分類で利用される
  畳み込みニューラルネットワークに最適化
   Cifar-10がはやっていたことに

  特徴抽出と結合・識別・出力

特徴抽出:畳み込み層とプーリング層
 畳み込み層(Convolution層)2次元配列を数値化
  →活性化関数ReLU
 プーリング層
  →max pool関数

CNNは2次元配列で表現できるデータなら適用可能
→時系列データも画像で分類してみては

Caffeのとくちょうではないこと
・Caffeでしかないことは基本的にはない
・後発のライブラリに比べると抽象度低い
・環境構築
・分散処理が難しい:ネットワーク厳しい

CaffeでCNNのながれ
①データセットの順b儀
②データの格納 lmdb
③パラメータ設定
④学習実行
⑤学習モデルの利用

例Facebook,adobe,Yahoo Japan

・できること
 画像分類
 物体検出
 ピクセル予測による領域分割

・物体検出
 R-CNN
 領域を区切ってCNNを利用して
 Faster-RCNN

・ピクセル予測による領域分析
 FCN
  スベテコンボリューション層で行う

Caffeの最近の動向
・ここ最近のNN界のトレンド
 再帰型ニューラルネットワーク(RNN)
 時系列データ、自然言語処理
 LSTM:長い記憶
 →Google翻訳の進化

・CaffeでRNN
 CNN+RNNの組み合わせ
 Visual Sequence Task

 人が話している

 Image Description

 Video Description

・画像とキャプションのデータセット


この記事をはてなブックマークに追加