ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

「人工知能は企業の味方なのか?」どうか、聞いてきた

2015-09-24 19:42:07 | AI・BigData
今日(9月24日)
人工知能は企業の味方なのか?~人工知能はビジネスで、どんなことまでできる?~
を聞いてきたので、その内容をメモメモ




■知能の歴史 過去と今~知能についての物語~
・マスコミのAI(センセーショナル)ではなく
・企業のAI(利益追求型)でもなく
・研究者のAIについて語る

概要(1)
 状況依存性→柔軟な仕組みはよくわかっていない
 AI:構成的学問体系(広義の工学)→東洋視点

過去
・自己紹介
 「知能の物語」 未来大出版社から
1978-1990 ロジックプログラム
1888-2000 状況理論

知能研究の立場
1.物理記号化説
  知能の本質は記号処理にある
  Newell,SimonらAI創始者

2.知能の本質はパターン認識(世界の分節化)にある
  ニューラルネット、画像認識派
  Deep Learning

3.環境との相互作用の重視
 Brooksの服属アーキテクチャ(ルンバのもと)
 オートポイエシス(自己産出)
 状況依存性

※1はほとんどいない。2と3

古い(物理記号化説時代の)知能観
 →認識→推論→行動→
     環境
 フレーム問題の発見

服属(Subsumption)アーキテクチャ
 Brooks「昆虫の知能」
 →認識→
 →推論→
 →行動→
  環境
・水平型から垂直型

環境との相互作用を重視する知能間
 環境に計算させる
  Uexkull:環世界
   Gibson:アフォーダンス
  オートポエイシス
  状況依存性
 →認識→
 →推論→
 →行動→
  環境

知能の物語
・薄墨:環境との相互作用

ユクスキュル:環世界
・生物から見た世界
・ヤドカリの環世界

社会的知能発生学研究会が書いた本
・知能の謎:認知発達ロボティクスの挑戦

社会知能の考え方
・集団としての環状・知能
  模倣
  他人のモデル
  アリの社会
・社会としての知能
  社会制度
  文化
・社会としての進化
  共進化
  教育システムや文化の遺伝と進化

人間理解の階層(多層システム)
・社会(特に教育)
・個人
・早期
・細胞
・分子(遺伝子やたんぱく質)

Jeff Hawkins: On Intelligence
・大脳皮質の7層構造
  トップダウンとボトムダウンの融合
・脳は外界からの入力と脳自体が想起した情報を区別できない
 →夢と現実の違いは?

現在
・集団の統合原理にはいろいろある
 実力
 規範
  無矛盾世界観
    戒律形
    審判規範形
  容矛盾世界観
    内部規範
     暴走する科学技術文明

・集団の構成員は誰を見ているか
  無矛盾世界観
    神
  容矛盾世界観
    村長さん

  外部観測→科学
   システムの外、客観性
  内部観測→工学
   システムの一部、主体性

学と術
・サイエンスとアートは一部重なる
 科学=サイエンスーアート
 工学=サイエンスとアートの重なり
 芸術=アート―サイエンス

・英語では虫の視点が取りにくい(状況依存性)

・状況依存性
  Semantic Ambiguity

・Sapir-Whorf:言語相対性仮説

まとめ
・状況依存性は難しい
・トップダウンとボトムアップ
  失敗からの回復

状況依存性を活用したUI

Herbert Simon:The Sciences of the Artificial
  →システムの科学(1969,1981,1996)

公共交通サービスのクラウド化
・バスとタクシー
  マルチエージェントシミュレーション

・U字型問題もシミュレーションで判明

U字発展問題:局所最適と対極最適
・マルチエージェントシミュレーション
・解決策:混ぜなければよい

未来
・Singularity(特異点)
→カーツワイル
 ポストヒューマン誕生ーコンピューターが人類の治世を超えるとき(2007)
 前提は2つ
  ムーアの法則
  人間より賢いプログラムができる
   そのプログラムが自分より賢いプログラムを作り続ける(再帰的)

Singularityは本当に来るか
・人間より賢いプログラムは人間にかけるか
  速度だけではだめ
  将棋プログラムの例→学習によって強くなる
 賢い学習→どうやって?

・独立知能から環境の重視
・個から社会
・東洋的

AIプロジェクト
・予測知能

AIの応用
・人間と共同作業
・対話処理
・自動運転

・データマイニング
・柔軟な受注
・柔軟な組織




■経営と人工知能
~人工知能的アプローチはビジネスにどのように転用できるのか~
・自己紹介

今の人工知能にできること
・画像認識
・LSTMによる不定長文分類
・オートエンコーダによるデータ解析

画像認識を経営にどう生かすか
・社員の顔を見て、声をかけて、その日の調子を判断する
 経営者ならだれもが自然にやっていることですね?
  →うんどうすると、しんじやすくなる

・事業が拡大して、社長が忙しくなると
 いつのまにか社内のトラブルを見過ごしてしまう

・管理職がいるときは、よそいきの顔

・人工知能搭載カメラ
  笑っているか、わらっていないか→幸福度

・相場をグラフにして画像処理

LSTM(ろんぐしょーとたーむめもりー)で何ができる
・あなたの顔がなんぱーせんと→CNNでだせる
・RNNをつかう
  大量の文書を入力
  →短い文を入れると、次の文字を予測

 学習
 ファインチューニング

・将来できそうなこと
 デシジョンメーカーの時間を確保してまで
 ボツ企画を見るのは時間の無駄である
 →デシジョンメーカーの判断基準がNN化されていれば
  時間を無駄にすることなく企画書をブラッシュアップ

・就職で使える
 →NNで合否判断(社員で学習させる)

オートエンコーダー
 教師なしデータから学習する
 人工知能によるローカルビッグデータの活用

 Word2Vec(Googleが開発したオープンソースの文書解析人工知能)

 単語のベクトル化
 King-man+woman=Queen
  →主成分分析
 社内にそんざいする売買履歴と社外のソーシャルネットワーク情報などを
 総合して、まな見ぬ戦略的知見を得る

 メタモルフォーゼが必要

人工知能による経営
・人工知能による経営の将来像
 中間管理職/支援装置としてのAI
・決済者の趣味嗜好人格をコピーするパーソナルNN
 最終面接
・ビッグデータから戦略支援を行うAI

UEIでディープラーニング
・How エッジ:ディープラーニングは公開
   →尊敬されることで勝つ!

・What
   ここをやっている

・Where:現実の現場

・20万円以下で買ったら、DeepLearningで学べる
・ディープラーニング専用GPUファーム 120万CUDAコア
  →ドアンゴは消耗品として買っている(1億円弱)
・勉強の仕方を教えるほうがコストかかる
・ニューラルネットワーク対応ビジュアルプログラミング言語




■人工知能は私たちにも使えるのか
 ~テクノロジーのオープン化、サービス化がもたらすインパクト~

・自己紹介

人工知能
・強い人工知能、弱い人工知能(自動化)
 自動化→推論→学習→パターン認識
・Google BrainにYouTubeをみせつづけ、猫
 我々のビジネスはどう変わるのか
   47%の仕事が自動化
・DeepMind,Siri:推論がサービスに
・自動運転→サービスを売ることも考えられる

メディアでも
・http://autometedinsights.com
  ルーチンワークを
・スポーツ記事も
・医療:検査画像の解析 Enlitic
・ノウハウがたまっていると思うもの

農業分野でも
・レタスの間引き Blue River Technology
http://www.bluerivert.com/

人工知能のサービスとテクノロジ
・Machine Lntelligence LANDScape
 産業のところに注目

・一番確実:再定義してサービス

蒸気機関
・できてから、広まるまで数十年

電気
・クラウド化する世界へ(Big SWITCH)

パソコンができて、Excelができたら、みんなの仕事は減ったか?
 →先に行っている

Cloud of Clouds さまざまなサービスを組み合わせ活用する
・サブスクリプションモデルへ

サービスとしての人工知能
・Meta Mind
・Google Prediction API(有償)
・Amazon Machine Learning
・IBM Watson
・Microsoft Azure 機械学習ならGUIで
・SkyMind
→スタートアップ、スモールビジネスのほうがやりやすい

ITの変遷

VRM(データはおれのもの)

KDDIクラウド ITを利用型へ
・グローバルクラウドと高品質なキャリアクラウドを一括提供




■パネルディスカッション
 人工知能を語りつくす
 ~産業界の期待へどうこたえるか~

(1)人工知能は企業の味方か?
・業務の一部を置き換えてコストダウン
・積極的に利用して
・小さな組織だからこその活かし方

中島先生:
 企業は手段で目的ではない。答えが変わる
 職がなくなる→なんのために
 AIで何ができる:情報技術全体で何ができる?
  人間がやっていたことの置き換え→コンピューターしかできないこと
  帯域管理
  企業のやり方変わる

清水さん:
・コストダウン:この瞬間では難しい
 ビジネス展開:潜在ニーズ 人の採用→新しいニューラルネットワーク
        カウンターデータの作り方
        ディープラーニング学習用データ:新興国でもできそう
 ディシジョンメーカーが理解できないと

藤井さん:
 アメリカ:エンドユーザー側にいる
 日本:エンジニアが進化しなくていい
 ベンチャーが同じ結果を出せるものをつくれば、こわせる
 成功体験がある:こわせない:意見とりいれやすい

Q:ノイマン方式以外、半導体以外は?
  政治はどう?

A:ハードウェアは何型でも・・・
 政治:可能性でいえば・・・
 テクノロジー的には直接民主主義可能

Q:何かエラーが起きたら対処できるのか?
  学習させる→それではね・・
  人なら想定外でもコミュニケーションで解決

  状況依存
   将棋、ぢーぷラーニング:設定する問題がある
   状況は違うもの?

A:Googleは検索にエラーがあるかもしれないけど、
  使ってるよね。
  →OKなレベルがある

  予測しないことが起こったら・・・
  仕様書の範囲はOK、仕様書の範囲を外れたら・・・
  フレーム問題:問題の枠を設定できるか
   →状況依存性:やるすべがない

(2)日本型人工知能はでるのか?
   (統計処理でなく)

清水さん
  CG:アニメ・まんが→CG観が生成できないか?
  日本の財産:日本語の可能性
  ハリウッドのCG:日本が
→コンテンツをAIがつくる
  サザエさんがスマートフォン使ってる(長谷川町子はスマートフォンみてないはずなのに・・)

藤井さん
 映像:言語に依存しない

中島先生
 マルチエージェント
  アメリカ:軍隊型組織
  日本:3人寄れば・・・
 アメリカ方式の限界

Q:意思決定に技術はどの程度知っていないといけないのか・・

A:
清水さん
  どこまでやったらいいかと考える時点で勝てない
  自分で意思決定したいなら、とことん知れ!
  ただ、そんなことをやっている人はいないが。。。

藤井さん
 日本的組織と、海外はちがう
 ロール&れスポンシビリティによってちがう
 アンテナだけは高くしておくべき

中島先生
 全部です。
 アメリカの経営者はもっと知っている
 バズワードでは足りない

世界のTOP20人のうち、6人はハッカー




いじょう・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

MyBatisのやり方 まとめ1 ダウンロード~検索まで

2015-09-24 11:17:51 | Weblog
Hibernateのやり方 まとめ2 <<検索>>
http://blog.goo.ne.jp/xmldtp/e/25bb39f9b306a74cabfde88bc9e85534

でHibernateについて書いた。

なので、おなじくMyBatisについても書いてみようというのが、今回の趣旨。




■お題
今、以下のように、MySQLのtestデータベースに
userテーブルを作成し、データを入れた

use test;
CREATE TABLE user (
	user_id		int  AUTO_INCREMENT primary key,
	login_name	varchar(50),
	password	varchar(50)
);
insert into user(login_name,password) values("name1","pass1");
insert into user(login_name,password) values("name2","pass2");
insert into user(login_name,password) values("name2","pass3");

selectした結果



これを、MyBatisを使ってidが2のレコードのlogin_nameを取り出す。




■概要
以下の手順で行う
・ダウンロード
  MyBatisのjarとJDBCのjar
・設定
  上記のHibetnateのとき、「設定ファイル」と「マッピングファイル」が
  必要だったが、今回も両方必要
・プログラム作成
・実行

以下、それぞれを説明




■ダウンロード

●MyBatisのjarについて

GitHubのmybatis/mybatis-3の一番下に
「•Download Latest」とあるので、そこをクリック

https://github.com/mybatis/mybatis-3/releasesの3.3.0の
 「Downloads」の「mybatis-3.3.0.zip」をクリックしてダウンロード。
 解凍して、mybatis-3.3.0.jarを入手

●MySQLのJDBCドライバー入手

Download Connector/J
http://dev.mysql.com/downloads/connector/j/

にいく。少しスクロールすると、「Download」とかいてあるので、そこをクリック

ダウンロードしたものは、MSIインストーラーなので、ダブルクリックして実行する。

実行が終了すると、
C:\Program Files (x86)\MySQL\Connector J バージョン番号

または

C:\Program Files\MySQL\Connector J バージョン番号
にmysql-connector-java-バージョン番号-bin.jarというファイルができているはず。
それを使う




■設定
●まず、Eclipseを使うのであれば・・・
・プロジェクトを作成する
・上記でダウンロードした、「MyBatisのjar」と「MySQLのJDBCドライバー」をどこかに
 おいて、「プロパティ」の「Javaのビルド・パス」で2つのjarが見えるようにパスを通す
・プロジェクトを作成したら、binフォルダができているはずである。
 そこに、以下の
   「設定ファイル」mybatis-config.xml
 と
   「マッピングファイル」
 を作成する。

●設定ファイル mybatis-config.xml の中身
 MySQLで、アカウントはログイン名root、パスワードpassword、
 マッパーxml(マッピングファイル)MyBatisSample.xmlに有る場合

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="org.gjt.mm.mysql.Driver" />
<property name="url" value="jdbc:mysql://localhost/test" />
<property name="username" value="root" />
<property name="password" value="password" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="MyBatisSample.xml" />
</mappers>
</configuration>


●マッピングファイル MyBatisSample.xml の中身
ユーザーID(int)を引数としてわたし、名前(String)を受け取る場合

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="mytest2.MyBatisSample">
<select id="selectname" parameterType="int" resultType="String">
select login_name from user where user_id = #{id}
</select>
</mapper>





■プログラム作成
ソースコードは、こんな感じ

package mytest2;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class MyTest2 {

public static void main(String[] args) throws Exception {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
try
{
int id = 2;
String name = (String) sqlSession.selectOne("mytest2.MyBatisSample.selectname", new Integer(id));
System.out.println("id = " + id + ", name = " + name);
}
finally
{
sqlSession.close();
}
}

}





■実行

結果、こんなかんじ





■参考サイト
以下のサイトを参考、ソースを一部引用しています。
http://miyohide.hatenablog.com/entry/20101031/1288519607
http://quietspeculation.blog65.fc2.com/blog-entry-35.html
MyBatisについては、以下にくわしく載っているようです。
・Java API https://mybatis.github.io/mybatis-3/ja/java-api.html
・Mapper XML ファイルhttps://mybatis.github.io/mybatis-3/ja/sqlmap-xml.html

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする