Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
人工知能の概論の概論と
セキュリティへの応用(的な~(改)
2015/08/25 #ssmjp
@typhon666_death
自己紹介
• Typhon(テポ)です。
• セキュリティエンジニアやってます。
• 仕事で人工知能とかやりません。やれたらおもろいなぁ
• 趣味:
ヘドバン出来る音楽(デスメタル、ハードコア、アニメスピードトランス)
勉強(セキュリティ、数学...
発表前の前置き
• 機械学習、ディープラーニングという言葉がよく登場するようになってきた
• 人工知能?なにそれ?な人が突然携わるの辛い
• 大学のときに片っ端から学んだ授業の記憶は残ってる
• 深い話よりも浅い話や体系的な話ならできそう
• ...
人工知能って?
• あなたが想像する人工知能ってなんですか?
人工知能って?
HMX-12 ○チハ○ コ○助
人工知能の歴史(はしょりぎみ)
• 18世紀中頃:登場
• 19世紀:ブールの登場。記号論理学。ブール代数。コンピュータの礎な理論
• 1930年代:チューリングの登場。チューリングマシンを考案。
• 1950年代:人工知能という学問分野の登場...
人工知能の歴史(はしょりぎみ)
• なんでいまこんなに盛り上がってるの?
• 大量のデータを得ることができる環境
• 計算速度の向上(スペックそのもの、クラウド)
• Deep Learning登場(パターン認識精度の向上、識別に有益な特徴の自...
人工知能の関連分野
人工知能
神経科学
心理学
言語学
哲学
人類学
• 人工知能は認知科学の本流
• 認知科学:経験を基礎とする
セキュリ
ティ?
認知科学ちゃうけど
人工知能の研究テーマ(まだまだいっぱい…)
• 探索
• 知識表現
• 推論
• 機械学習
• 認知モデリング
• 哲学的基礎
• ニューラルネットワーク
• 進化的計算
• 人工生命
• 免疫システム
• 問題解決
• プラニング
• スケジ...
人工知能の研究テーマ(まだまだいっぱい…)
• 探索
• 知識表現
• 推論
• 機械学習
• 認知モデリング
• 哲学的基礎
• ニューラルネットワーク
• 進化的計算
• 人工生命
• 免疫システム
• 問題解決
• プラニング
• スケジ...
• ここからは浅く広く、各分野の概論(に行く前の基礎(の概論))を紹介
状態空間表現
• 与えられた問題を状態空間表現に定義
• 初期状態、ゴール状態、ルールで与えられる
※ベクトル表記が多い
【ハノイの塔】
• 3 本の柱と大きさの異なる複数の円盤
• 最初はすべての円盤が右端の柱 (大きさの順)
• 円盤を一回...
オートマトン
• ガンダムOOに出てくる無人殺人兵器
• 与えられた問題を状態空間表現に定義
• 初期状態、ゴール状態、ルールで与えられる
※ベクトル表記が多い
• 入力された情報によって状態が遷移していく
【10円玉か100円玉しか使えない自...
グラフ理論
• グラフ:点と枝からなる集合
• 枝は有向枝、無向枝がある
• グラフの構造に着目した研究
• 幅優先探索(左)、深さ優先探索(右)
→コスト無視で決められた探索をする
a1
a3
a2 a4
2
1
3
4
a1
a3
a2 a...
ペトリネット(余談)
• オートマトンとグラフ理論を足して割ったようなもの
• 必要なトークンの数がそろわないと発火できない
• 参考:http://enterprisezine.jp/iti/detail/1493
最適化(Operations Research)
• ある条件下で目的関数が最大または最小となる状態を解析
• 連続最適化
• 数Ⅱで学ぶ領域問題→線形計画法
• 数Ⅲで学ぶ微分で最大/最小を求める
→最急降下法、ニュートン法
• 離散最適化
...
統計・確率
• 平均:合計/データ数
• 期待値(E):確率×データ
• 分散(V):データのバラツキ度
(各データと平均の差の2乗を
足しこんでデータ数で割る)
(簡単に言うとこんな感じ)
• 偏差:分散の正の平方根
• 回帰分析:それらのデ...
推論/学習
• 推論:知識をもとに新たなデータを得る
• 相手の駒を多く挟めるところに置く
• 角取られるパターン!
• 「自分の後、相手が有利とならないこと」という知識を注入
• プロダクションシステム:IF/THENを定義してる
• 学習:...
自然言語処理
• 人間が使っている言語(日本語、英語、中国語…)をコンピュータに処理
させること
• 形態素解析:文法の知識や辞書を情報源にして、意味単位でぶったぎ
る
• 【翻訳ソフト】
機械学習
• 経験から学習。大別すると次の三つ
• 教師あり学習:入力データを訓練されたデータ(教師)をもとに傾向を学習
• →過去の株価データをもとに予測
• 教師なし学習:入力データのみで出力結果を求める。
• →入力したデータから似たもの...
条件付き確率/ベイズの定理
• P(A) : A が起きる確率
• P(B) : B が起きる確率(事前確率)
• P(A|B) : B の後でA が起きる確率(条件付き確率、尤度)
• P(B|A) : A の後でB が起きる確率(条件付き確...
ニューラルネットワーク
• 神経回路を模した数理モデル(ニューロンモデル)
• バックプロパゲーション:中間層と出力層のw(結合係数)を学習させる
のに望ましい出力と実際の出力の誤差をもとに更新
• 学習しすぎないよう、回帰分析によるフィッティ...
知的エージェント(オントロジー、セマンティッ
クWeb)
• 自律して情報の変化を学習する。
• オントロジー:知識の形式的表現(クラス、属性、関係 など)
• セマンティックWeb:データのWebとして、文書情報に意味をなし、そのWebを
ソ...
マルチエージェントシステム
• 個々のエージェントが独自にそのときの最適化された行動を判断
• 中央集権的でない
• 【応用例】
• 交通網制御
• 信号機それぞれがエージェント
• 混雑具合によって、信号制御をよろしく行うことで混雑を回避
Coffee Break
• 先日、July Tech Festa2015で
「数学の知識不要! ITエンジニアのための「機械学習理論」入門」
というセッションを担当された方は、やはり数式のあるスライドで説明し
ていた。数学は必要です。これいい...
Coffee Break
• 高校数学からやり直すなら、チャート式(黄)の例題と問題の解説を読
むことをお勧め。解説は切り離せたはず!
• ここをやり直すと大学数学(代数・解析・幾何 等)に突入できます。
• そして、さっきあげた人工知能研究テ...
Coffee Break
• ex)もし機械学習を学んでいくのに基礎から攻めるなら…
• ベイズ理論はどこで?多変量解析はどこで?とかそういった指摘受け付けます。
高校の微分積分
行列/ベクトル
確率
解析
(微積分)
線形代数
(行列の計算)...
さて…
セキュリティ業界も人工知能を考えるようになるト
レンドにある(いずれも2015年8月の記事)
とはいっても、すでに実例はいろいろある
実例(セキュリティ分野)
• Spamフィルタ
ex)Proofpoint の Enterprise Protection
• 形態素解析
• 英語は単語がスペースで区切られている
• 日本語だと適切な形で区切る必要がある。
• ベイジアンフィ...
実例(セキュリティ分野)
• WAF
ex)bit forest の Scutum
• ベイジアンネットワーク
• これまで観測された特徴から確率を計算し、最終的に攻撃かどうかを判定
• ex) HTTPリクエストが攻撃である/ない、HTTPリ...
実例(セキュリティ分野)
• アンチウイルスソフト
ex)FFRI の yarai
• ヒューリスティック分析
• 経験則
• 数学的に完全に正しい知識という保証がない。
• でも、まあだいたいうまくいく。
• 機械学習(昨年夏頃搭載された5つ...
応用例(セキュリティ分野)
• 事後ログ解析
• 取得したログの内容から、本当は通してはいけない通信(だと思われるもの)を
事後報告する。
• 例)ある送信元IPからWAFでひたすらXSSで検知/遮断しまくってた後に、FWでた
またまPermi...
参考文献
• 人工知能概論 第2版 ―コンピュータ知能からWeb知能まで
• イラストで学ぶ 人工知能概論
あとがき
• (今更)アカデミックな本と真剣に向き合うと頭のぼせる
• でも、学んでた当時よりは飲みこみは早い(気がする)
• あの頃、やった!やった!な方はまた本棚から本を引っ張ってみよう
• これから学ぼうと思う人は足を止めずに一歩ずつ
•...
Próxima SlideShare
Cargando en…5
×

人工知能の概論の概論と セキュリティへの応用(的な~(改)

9.585 visualizaciones

Publicado el

20150825 #ssmjp での発表資料です。公開向けではなかったのでわかりにくいかもですが。。。

Publicado en: Tecnología
  • Sé el primero en comentar

人工知能の概論の概論と セキュリティへの応用(的な~(改)

  1. 1. 人工知能の概論の概論と セキュリティへの応用(的な~(改) 2015/08/25 #ssmjp @typhon666_death
  2. 2. 自己紹介 • Typhon(テポ)です。 • セキュリティエンジニアやってます。 • 仕事で人工知能とかやりません。やれたらおもろいなぁ • 趣味: ヘドバン出来る音楽(デスメタル、ハードコア、アニメスピードトランス) 勉強(セキュリティ、数学、AI、言語)
  3. 3. 発表前の前置き • 機械学習、ディープラーニングという言葉がよく登場するようになってきた • 人工知能?なにそれ?な人が突然携わるの辛い • 大学のときに片っ端から学んだ授業の記憶は残ってる • 深い話よりも浅い話や体系的な話ならできそう • 薄くても浅くても、学ぶきっかけさえあれば人はそこから走りだせる • てことで、ゆるふわ発表できるささみ向けに書いてみました。 • 今日から人工知能を勉強するための一役を担えたら幸いです。 • 公開する目的の資料ではなかったのですが、せっかくなのでアウトプットします。 • 色々とツッコミうけて、さらにアップデートできたらいいな。 • ボケなしです。
  4. 4. 人工知能って? • あなたが想像する人工知能ってなんですか?
  5. 5. 人工知能って? HMX-12 ○チハ○ コ○助
  6. 6. 人工知能の歴史(はしょりぎみ) • 18世紀中頃:登場 • 19世紀:ブールの登場。記号論理学。ブール代数。コンピュータの礎な理論 • 1930年代:チューリングの登場。チューリングマシンを考案。 • 1950年代:人工知能という学問分野の登場 • 1960年代:夢 • 1970年代:失望 • 1975年代:再生 • 1980年代:実用化の時代Part1:性能でない、学習させる作業が困難 • 2000年代:実用化の時代Part2:PC性能向上、Webへの応用研究 • 2010年代:実用化の時代Part3 ←イマココ
  7. 7. 人工知能の歴史(はしょりぎみ) • なんでいまこんなに盛り上がってるの? • 大量のデータを得ることができる環境 • 計算速度の向上(スペックそのもの、クラウド) • Deep Learning登場(パターン認識精度の向上、識別に有益な特徴の自動抽出) • パターン認識: • 文字認識 • 画像認識 • 音声認識 • ジェスチャー • …
  8. 8. 人工知能の関連分野 人工知能 神経科学 心理学 言語学 哲学 人類学 • 人工知能は認知科学の本流 • 認知科学:経験を基礎とする セキュリ ティ? 認知科学ちゃうけど
  9. 9. 人工知能の研究テーマ(まだまだいっぱい…) • 探索 • 知識表現 • 推論 • 機械学習 • 認知モデリング • 哲学的基礎 • ニューラルネットワーク • 進化的計算 • 人工生命 • 免疫システム • 問題解決 • プラニング • スケジューリング • モデリング • 設計 • 診断 • 自然言語処理 • 画像処理 • 音声処理 • 感性処理 • バーチャルリアリティ • データマイニング • テキストマイニング • マルチメディアデータマイ ニング • ユーザモデリング • 知的インタラクション • ヒューマンインターフェイス • 知的エージェント • マルチエージェント • 分散人工知能 • エキスパートシステム • ロボティクス • e-ラーニング • ゲーム • Webインテリジェンス • セマンティックWeb • オントロジー • 情報検索
  10. 10. 人工知能の研究テーマ(まだまだいっぱい…) • 探索 • 知識表現 • 推論 • 機械学習 • 認知モデリング • 哲学的基礎 • ニューラルネットワーク • 進化的計算 • 人工生命 • 免疫システム • 問題解決 • プラニング • スケジューリング • モデリング • 設計 • 診断 • 自然言語処理 • 画像処理 • 音声処理 • 感性処理 • バーチャルリアリティ • データマイニング • テキストマイニング • マルチメディアデータマイ ニング • ユーザモデリング • 知的インタラクション • ヒューマンインターフェイス • 知的エージェント • マルチエージェント • 分散人工知能 • エキスパートシステム • ロボティクス • e-ラーニング • ゲーム • Webインテリジェンス • セマンティックWeb • オントロジー • 情報検索
  11. 11. • ここからは浅く広く、各分野の概論(に行く前の基礎(の概論))を紹介
  12. 12. 状態空間表現 • 与えられた問題を状態空間表現に定義 • 初期状態、ゴール状態、ルールで与えられる ※ベクトル表記が多い 【ハノイの塔】 • 3 本の柱と大きさの異なる複数の円盤 • 最初はすべての円盤が右端の柱 (大きさの順) • 円盤を一回に一枚ずつ別の柱に移動させる • すべての円盤を左端の柱に大きさの順に置く • 小さな円盤の上に大きな円盤を置くことはできない 初期状態:杭1([小中大]), 杭2([]), 杭3([]) ゴール状態:杭1([]), 杭2([]), 杭3([小中大]) ※輪小~大とその位置(左中右)についての初期状態とゴール状態を表すこともできる。
  13. 13. オートマトン • ガンダムOOに出てくる無人殺人兵器 • 与えられた問題を状態空間表現に定義 • 初期状態、ゴール状態、ルールで与えられる ※ベクトル表記が多い • 入力された情報によって状態が遷移していく 【10円玉か100円玉しか使えない自動販売機】 • 60円以上のジュースを買うことができるオートマトン • ちなみに、この例だと、お釣りが返ってこない Q0 Q1 Q2 Q3 Q4 Q5 EE 10円 10円 10円 10円 10円 100円 10円 100円 100円 100円 100円 100円
  14. 14. グラフ理論 • グラフ:点と枝からなる集合 • 枝は有向枝、無向枝がある • グラフの構造に着目した研究 • 幅優先探索(左)、深さ優先探索(右) →コスト無視で決められた探索をする a1 a3 a2 a4 2 1 3 4 a1 a3 a2 a4 2 1 3 4 有向グラフ 無向グラフ 0 2 3 0 0 0 1 4 0 0 0 0 0 0 0 0 0 2 3 0 2 0 1 4 3 1 0 0 0 4 0 0 Aij=(iからjへの枝の重みを表す成分行列) 1 2 3 4 5 6 1 2 5 3 4 6
  15. 15. ペトリネット(余談) • オートマトンとグラフ理論を足して割ったようなもの • 必要なトークンの数がそろわないと発火できない • 参考:http://enterprisezine.jp/iti/detail/1493
  16. 16. 最適化(Operations Research) • ある条件下で目的関数が最大または最小となる状態を解析 • 連続最適化 • 数Ⅱで学ぶ領域問題→線形計画法 • 数Ⅲで学ぶ微分で最大/最小を求める →最急降下法、ニュートン法 • 離散最適化 • 組合せ最適化(グラフ理論との応用など) • 最長片道切符問題、スケジューリング問題、推薦商品最適化 • 離散最適化のモデル化が難しい。現場の経験と勘が頼りなこともある • 計算時間を早くする工夫が必要: • 最短経路問題(ダイクストラアルゴリズム)→多項式時間 • ナップザック問題→指数関数時間 • 解析手法:整数計画法、遺伝アルゴリズム、アント法など • 厳密解でなく、近傍解を求めることも… x y y=f(x) Xの範囲 yの最大 yの最小
  17. 17. 統計・確率 • 平均:合計/データ数 • 期待値(E):確率×データ • 分散(V):データのバラツキ度 (各データと平均の差の2乗を 足しこんでデータ数で割る) (簡単に言うとこんな感じ) • 偏差:分散の正の平方根 • 回帰分析:それらのデータをどの程度の 数式で表示できるか(右図は線形回帰) • 最小二乗法:残差の二乗和を最小とするような 係数を決定する方法 氏名 A B C D E F G H 得点 100 60 40 40 50 50 90 60 平均点 との差 40 0 20 20 10 10 30 0 差×個数/ 標準偏差 20 0 10 10 5 5 15 0 偏差値 70 50 40 40 45 45 65 50 平均 分散 標準偏差 60 400 20 x y y=f(x)
  18. 18. 推論/学習 • 推論:知識をもとに新たなデータを得る • 相手の駒を多く挟めるところに置く • 角取られるパターン! • 「自分の後、相手が有利とならないこと」という知識を注入 • プロダクションシステム:IF/THENを定義してる • 学習:情報から次に使えそうな知識を得る • コンビニのレジ横のチロルチョコ(経験則、過去データ) 3つひっくりかえせる!といって、 ここに白置く人はまあいない
  19. 19. 自然言語処理 • 人間が使っている言語(日本語、英語、中国語…)をコンピュータに処理 させること • 形態素解析:文法の知識や辞書を情報源にして、意味単位でぶったぎ る • 【翻訳ソフト】
  20. 20. 機械学習 • 経験から学習。大別すると次の三つ • 教師あり学習:入力データを訓練されたデータ(教師)をもとに傾向を学習 • →過去の株価データをもとに予測 • 教師なし学習:入力データのみで出力結果を求める。 • →入力したデータから似たもの同士をグルーピング • 強化学習:過去の結果的にいいデータから取るべき行動を学習 • →勝局譜のみ学習させたAIチェス、AI将棋など • 解析手法 • 回帰:未知の値を予測 • クラス分類:適切なクラスを割り当てる • クラスタリング:類似性をもとにデータをグループ化 • 情報圧縮:データを簡素化 • レコメンデーション:推測
  21. 21. 条件付き確率/ベイズの定理 • P(A) : A が起きる確率 • P(B) : B が起きる確率(事前確率) • P(A|B) : B の後でA が起きる確率(条件付き確率、尤度) • P(B|A) : A の後でB が起きる確率(条件付き確率、事後確率) • P(A∧B)=P(A|B)P(B)=P(B|A)P(A):AとBが同時に起きる確率(同時確率) • ⇔P(B|A)=P(A|B)P(B)/P(A) (ベイズの定理) ※ただし、起きうる事象はもっとある。 • 【応用】 • ある状態からある状態へ遷移する確率が決まっているとすると、 次の行動確率を推定することができる。 • マルコフ過程、モンテカルロ法など P(A) 1がでる確 率 1/6 P(notA) 1がでない 確率 5/6 P(B) 2以下であ る確率 1/3 P(notB) 3以上であ る確率 2/3 P(A∧B) 1/3 × 1/6 = 1/18 P(B|A) 1/18 ÷ 1/6 = 1/3 P(A|B) 1/18 ÷ 1/3 = 1/6
  22. 22. ニューラルネットワーク • 神経回路を模した数理モデル(ニューロンモデル) • バックプロパゲーション:中間層と出力層のw(結合係数)を学習させる のに望ましい出力と実際の出力の誤差をもとに更新 • 学習しすぎないよう、回帰分析によるフィッティングを考慮 • ディープラーニング:NNの多層化 特徴量(概念を認識)を自動で発見 • 【応用例】 • Facebookの画像認識 f 出力 入力 x1 x2 xn win wi1 wi2 yi 入力層 出力層 中間層 (隠れ層) 三層パーセプトロン
  23. 23. 知的エージェント(オントロジー、セマンティッ クWeb) • 自律して情報の変化を学習する。 • オントロジー:知識の形式的表現(クラス、属性、関係 など) • セマンティックWeb:データのWebとして、文書情報に意味をなし、そのWebを ソフトウェア等が理解する • 読むためだけのWebではない • また、Webがユーザーの意図を理解することもしばしば。 • 【応用例】 • ユーザーの代わりにユーザー情報を入力 • 購買商品予測
  24. 24. マルチエージェントシステム • 個々のエージェントが独自にそのときの最適化された行動を判断 • 中央集権的でない • 【応用例】 • 交通網制御 • 信号機それぞれがエージェント • 混雑具合によって、信号制御をよろしく行うことで混雑を回避
  25. 25. Coffee Break • 先日、July Tech Festa2015で 「数学の知識不要! ITエンジニアのための「機械学習理論」入門」 というセッションを担当された方は、やはり数式のあるスライドで説明し ていた。数学は必要です。これいい資料です。 ↓の改良版 http://www.slideshare.net/enakai/ss-46880120 • あの頃苦手だった数学を今更!?とおもいながら向き合うと面白い発 見があるかも。なぜなら、過去に一度でも習ったことがあるという体験 は未来の今また生きかえってくるから。
  26. 26. Coffee Break • 高校数学からやり直すなら、チャート式(黄)の例題と問題の解説を読 むことをお勧め。解説は切り離せたはず! • ここをやり直すと大学数学(代数・解析・幾何 等)に突入できます。 • そして、さっきあげた人工知能研究テーマの基礎理論も理解しやすくな るでしょう。
  27. 27. Coffee Break • ex)もし機械学習を学んでいくのに基礎から攻めるなら… • ベイズ理論はどこで?多変量解析はどこで?とかそういった指摘受け付けます。 高校の微分積分 行列/ベクトル 確率 解析 (微積分) 線形代数 (行列の計算) 統計解析 (平均、分散、偏差、 回帰、確率解析) OR (数理計画、組合せ最 適化、(グラフ理論)) 機械学習 (NN、パターン認識)
  28. 28. さて…
  29. 29. セキュリティ業界も人工知能を考えるようになるト レンドにある(いずれも2015年8月の記事)
  30. 30. とはいっても、すでに実例はいろいろある
  31. 31. 実例(セキュリティ分野) • Spamフィルタ ex)Proofpoint の Enterprise Protection • 形態素解析 • 英語は単語がスペースで区切られている • 日本語だと適切な形で区切る必要がある。 • ベイジアンフィルタ(教師あり学習) • あらかじめ正常といえるメールを学習しておく • スパムに含まれる文字集合、通常メールに含まれる文字集合の確率を計算 • 単語ごとに スパムと判明しているとき、このメールが該当単語を含む確率 スパムでないと判明しているとき、このメールが該当単語を含む確率 →該当単語を含むメールがスパムメールである確率
  32. 32. 実例(セキュリティ分野) • WAF ex)bit forest の Scutum • ベイジアンネットワーク • これまで観測された特徴から確率を計算し、最終的に攻撃かどうかを判定 • ex) HTTPリクエストが攻撃である/ない、HTTPリクエストにalertが含まれる/ない →alertという単語がHTTPリクエストに含まれている確率は? • 参考URL: https://www.scutum.jp/information/waf_tech_blog/2014/02/waf-blog- 034.html http://www.slideshare.net/tadashisatoh94/avtokyo20135
  33. 33. 実例(セキュリティ分野) • アンチウイルスソフト ex)FFRI の yarai • ヒューリスティック分析 • 経験則 • 数学的に完全に正しい知識という保証がない。 • でも、まあだいたいうまくいく。 • 機械学習(昨年夏頃搭載された5つ目のエンジンで利用) • 膨大なマルウェアを解析 • 振る舞い特性を抽出 • 機械学習から得られた統計的特徴データを検出ロジックに反映 • 参考URL: http://www.ffri.jp/special/5th_engine.htm
  34. 34. 応用例(セキュリティ分野) • 事後ログ解析 • 取得したログの内容から、本当は通してはいけない通信(だと思われるもの)を 事後報告する。 • 例)ある送信元IPからWAFでひたすらXSSで検知/遮断しまくってた後に、FWでた またまPermitで許可された通信が通った。WAFはすり抜けて、FWは通過。 →リクエスト内容はとれてないけど、止めてしまったほうがよかったのでは? 推論?ベイズ?機械学習?
  35. 35. 参考文献 • 人工知能概論 第2版 ―コンピュータ知能からWeb知能まで • イラストで学ぶ 人工知能概論
  36. 36. あとがき • (今更)アカデミックな本と真剣に向き合うと頭のぼせる • でも、学んでた当時よりは飲みこみは早い(気がする) • あの頃、やった!やった!な方はまた本棚から本を引っ張ってみよう • これから学ぼうと思う人は足を止めずに一歩ずつ • もし、間違っているところや、こんなこと考えるのもいいですよとか、指 摘いただけたら幸いです • 素敵なAIライフを

×