This document introduces deep reinforcement learning and provides some examples of its applications. It begins with backgrounds on the history of deep learning and reinforcement learning. It then explains the concepts of reinforcement learning, deep learning, and deep reinforcement learning. Some example applications are controlling building sway, optimizing smart grids, and autonomous vehicles. The document also discusses using deep reinforcement learning for robot control and how understanding the principles can help in problem setting.
This document introduces deep reinforcement learning and provides some examples of its applications. It begins with backgrounds on the history of deep learning and reinforcement learning. It then explains the concepts of reinforcement learning, deep learning, and deep reinforcement learning. Some example applications are controlling building sway, optimizing smart grids, and autonomous vehicles. The document also discusses using deep reinforcement learning for robot control and how understanding the principles can help in problem setting.
あなたの開発チームに、多様性(ダイバーシティ)はありますか? 常に成長を目指すようなチームにおいては、メンバの多様性を確保することが非常に重要です。このセッションでは、そもそもなぜ多様性を持つことが大事なのかという点について理解し、そのような多様性を目指すときにぶつかる課題、そしてそれをどのように乗り越えるべきかを学びます。セッションの最後には、コミュニケーションを改善すべくチームに良い影響を与える方法について、いくつかのヒントを得ることができるでしょう。
Microsoft Ignite The Tour 2019 東京 THR30018 (2019/12/6)
https://tokyo.myignitetour.techcommunity.microsoft.com/sessions/87450
このセッションでは、技術的な観点からブロックチェーンの基本とその長所をスピーディーに学びます。また実演(デモ)を通してAzureへブロックチェーン サービスを展開する方法を習得できるほか、ブロックチェーンによるシステムと従来のリレーショナル データベースとの比較からそれぞれの特性を理解できます。セッションの最後には、実際のビジネスにおけるニーズを解決するために、どのようにブロックチェーンを適用すべきか(もしくは、すべきではないのか)について考察できるようになります。
Microsoft Ignite The Tour 2019 東京 BRK40003 (2019/12/6)
https://tokyo.myignitetour.techcommunity.microsoft.com/sessions/87449
Microsoft Ignite The Tour 2019 大阪 BRK40022 (2020/1/23)
https://osaka.myignitetour.techcommunity.microsoft.com/sessions/91086
13. 文脈自由言語の所属判定問題
ある記号列 x1
x2
...xn
が、文脈自由言語 L に所属するかどうかの判定を、
所属判定問題 (decision problem) と呼ぶ
例
アルファベット { a,b } 上の記号列 baaba は次の生成規則の言語 L に所属するだろ
うか?
S → AB | BC
A → BA | a
B → CC | b
C → AB | a Introduction to Automata Theory, Languages, and Computation
Example 7.34 (P.306) より引用
13
15. CYK 法の例
baaba
S → AB | BC
A → BA | a
B → CC | b
C → AB | a
S,A,C
?
?
S,A
B
S,A,C
B
B
A,C
B
S,C
A,C
S,A
B A,C
b a a b a
Introduction to Automata Theory, Languages, and Computation
Example 7.34 (P.306) より引用
開始記号を含んでいれば
導出が可能表
を
埋
め
る
方
向
15
20. 文脈自由言語 L について、ある数 N が存在して、L に属する長さ N 以上の記号列 z
に対して、次のような条件をみたす x = uvwxy という分解が存在する
● 1 ≤ |vx|
● |vwx| ≤ N
● 任意の整数 i ≥ 0 について uvi
wxi
y ∈ L
証明の方針
文脈自由文法は Chomsky 標準形で表すことができた。L を表す Chomsky 標準形の
CFG を (VT
,VN
,S,P) とし、N=|V| として 2N
以上の長さの L の記号列 x の導出木を
考える。この時、導出木は二分木であり、深さは N + 1 以上であるから根までのパスに
同じ非終端記号がある。残りは正則言語の反復補題と同様
文脈自由文法の反復補題
20
28. LL(1) 文法か否かの判定
ある CFG の任意の非終端記号 N の生成規則 N → α1
| α2
| … | αn
について
1 ≤ i < j ≤ n のとき
Director(N,αi
) ∩ Director(N,αj
) = ?
であれば、その文法は LL(1) 文法である。すなわち、1 つ次のトークンを読めば、どの
生成規則を用いれば良いかが確定する
28
29. 上向き構文解析法
入力された記号列について、1 文字ずつ読み (Shift) ながら生成規則をたどり、非終端
記号に還元 (Reduce) していく方式。最終的に開始記号までたどり着けるように還元を
行う
E → E + T | T
T → T * F | F
F → (E) | i
T F*
E
i + (i* i
F F F
E + ( F これから読む部分
+ i ) * i
左から右への走査
29
30. LR 構文解析法
LR 構文解析法では、次に読む文字と還元できる生成規則とを同時に管理する
● 左から右への走査 (Left-to-Right scanning)
● 左端導出 (Rightmost derivation)
コンパイラの構成と最適化
文法 G1 (P.93) より引用
E → E + T
E → T
T → T * F
T → F
F → (E)
F → i
S → E $
E → E + T
E → T
T → T * F
T → F
F → (E)
F → i
S → ● E $
E → ● E + T
E → ● T
T → ● T * F
T → ● F
F → ● (E)
F → ● i
便宜上
開始記号を
新たに作る シフト位置
を記載した
マークを
付与する
30
31. LR 構文解析法
1. 開始の生成規則 S → E $ を便宜上加え、$ を入力の最後に読み取ることとする
2. シフト位置を ● 記号にて示す。最初にS → ● E $ として、非終端記号をすべて展開しながら(た
とえば E → ● E + T を加える)、次に読み取る記号についての閉包(Closure) を作成する
3. シフト位置の次にある記号すべてについて、読み取ったあとの状態から、ふたたび閉包を作成
する。既存の閉包と同じ状態になった場合は同一としてみなす
4. 閉包それぞれをオートマトンの状態として定義し、読み取るべき文字を遷移規則とする
5. スタックを用意し、開始状態から記号を一つずつ読んでいきシフトした場合にはスタックへプッ
シュ、還元する場合にはスタックからポップする
31
32. S → E $ ●
S → ● E $
E → ● E + T
E → ● T
T → ● T * F
T → ● F
F → ● ( E )
F → ● i
E
T
F
(
i
$
+
T
*
F
)
+
(
(
i
F
*
TF
E
i
F → i ● #
T → F ● #
E → T ● #
T → T ● * F
S → E ● $
E → E ● + T
F → ( E ● )
E → E ● + T
E → E + ● T
T → ● T * F
T → ● F
F → ● ( E )
F → ● i
T → T * ● F
F → ● ( E )
F → ● i
T → T * F ● #
F → ( E ) ● #
E → E + T ● #
T → T ● * F
● は読み取り位置の記号
# は次に還元することを示す
(
F → ( ● E )
E → ● E + T
E → ● T
T → ● T * F
T → ● F
F → ● ( E )
F → ● i
i
32
33. コンフリクト
場合によっては、次の記号を読み取るべきか還元すべきか定まらない場合がある (Shift
/ Reduce コンフリクト)。また、還元すべきルールが複数ある場合もある (Reduce /
Reduce コンフリクト)
このような場合の先読みの方法に応じて、複数の手法がある (詳細は触れない)
● SLR(1) … 還元の際に 1 文字先読み
● LR(1) … 生成規則の Follow で 1 文字先読み
● LALR(1) … LR(1) の状態数圧縮
E → T ● #
T → T ● * F
33
43. [課題] 文法の定義
以下に示すような論理演算、整数演算が可能な文法定義をせよ。
V → true | false
V → 整数値 (-1000 から 1000 まで)
E → V | (E) |
E + E | E - E | E * E | E / E |
E & E | E | E | E = E | E <> E
Cond → if E then E else E
43