𝑃 𝑐 {𝑄}
事前条件 事後条件
プログラム
Hoare triple
𝑖 𝑜
c 𝑖 ↦ 𝑜 ? property-based test
model-based test
𝑃(𝑖) 𝑄(𝑖, 𝑜)
Imai triple 𝑃 [𝑐] {𝑄}
事前条件 事後条件
プログラムスキーマ
{ 𝑖, 𝑜 }
𝑐
テストデータ
最適プログラム
𝑃(𝑖) 𝑄(𝑖, 𝑜)
𝑡学習器
𝑚
𝑚 𝑃, 𝑄 ↦ 𝑐 , 𝑖, 𝑜 , 𝑡 ↦ 𝑐
メタ戦略
ℙ 𝑚 {ℚ}Hagiya triple
ℙ : 対象や仕様 𝑃, 𝑄 に関する条件
ℚ : 学習されるプログラム 𝑐 が満たすべき条件
𝑐 は 𝑄 を100%満たすわけでもない
さらなる条件があるかもしれない
Software 1.0 Software 2.0
𝑃 𝑐 {𝑄} のプログラミング ℙ 𝑚 {ℚ} のプログラミング
ℙ 𝑚 {ℚ}Hagiya triple
𝑚 への⼊⼒には機械学習エンジニアも含まれるのでは?
(機械学習プロセスプログラミング?)
Software 1.0では⼈間とプログラムは別であった
(プログラミングとプロセスプログラミングは別であった)
Software 2.0では⼈間も探索リソースのうち?
𝑚 𝑃, 𝑄, {𝐸} ↦ 𝑐 , 𝑖, 𝑜 , 𝑡 ↦ 𝑐
𝑚 𝑃, 𝑄 ↦ {𝐸} ↦ 𝑐 , 𝑖, 𝑜 , 𝑡 ↦ 𝑐
𝑃 𝑐 {𝑄′}
事後条件
witnessed Hoare triple
𝑄′(𝑜, 𝑤) ⟺ 𝑤 ⊢ 𝑄(𝑖, 𝑜)
𝑤 は 𝑖 と 𝑜 が仕様を満たすことの witness (explanation)
学習されたプログラム 𝑐 は 𝑤 も返すようにする (XAI?)
𝑐 の中の 𝑤 の痕跡を汎化することにより
𝑐 の正当性証明を構成できないか(例による証明?)
「𝑐 は 𝑄 を100%満たすわけでもない」と書いたが、
𝑄 を100%満たす(満たさねばならない)こともあるはず
どうやって 𝑐 の正当性を⽰すのか?
雑感
• ブラックボックス計算の設計論は余りに貧弱
• 元来、進化計算や⾃然計算では、進化や学習を制御することは「ハー
ネス (harness)」と呼ばれていた。しかし、中⾝はない。
• 帰納的・探索に基づいて得られたプログラムの正当性は?
• ⾼次元空間のままでよいのか。近似に留まってよいのか。
• ブラックボックス計算に適した(⾼次元の)記号表現はないのか。前
のスライドでwitnessと呼んだもの
• ⼈知を超えるかもしれないが
• 個次元記号表現の汎化
• ⾼次元プログラムと⾼次元記号表現による⾼次元検証・モデル検査

『鼎談:新しいプログラミングパラダイムとしての深層学習』 資料(萩谷 昌己)

  • 4.
    𝑃 𝑐 {𝑄} 事前条件事後条件 プログラム Hoare triple 𝑖 𝑜 c 𝑖 ↦ 𝑜 ? property-based test model-based test 𝑃(𝑖) 𝑄(𝑖, 𝑜)
  • 5.
    Imai triple 𝑃[𝑐] {𝑄} 事前条件 事後条件 プログラムスキーマ { 𝑖, 𝑜 } 𝑐 テストデータ 最適プログラム 𝑃(𝑖) 𝑄(𝑖, 𝑜) 𝑡学習器
  • 6.
    𝑚 𝑚 𝑃, 𝑄↦ 𝑐 , 𝑖, 𝑜 , 𝑡 ↦ 𝑐 メタ戦略
  • 7.
    ℙ 𝑚 {ℚ}Hagiyatriple ℙ : 対象や仕様 𝑃, 𝑄 に関する条件 ℚ : 学習されるプログラム 𝑐 が満たすべき条件 𝑐 は 𝑄 を100%満たすわけでもない さらなる条件があるかもしれない Software 1.0 Software 2.0 𝑃 𝑐 {𝑄} のプログラミング ℙ 𝑚 {ℚ} のプログラミング
  • 8.
    ℙ 𝑚 {ℚ}Hagiyatriple 𝑚 への⼊⼒には機械学習エンジニアも含まれるのでは? (機械学習プロセスプログラミング?) Software 1.0では⼈間とプログラムは別であった (プログラミングとプロセスプログラミングは別であった) Software 2.0では⼈間も探索リソースのうち? 𝑚 𝑃, 𝑄, {𝐸} ↦ 𝑐 , 𝑖, 𝑜 , 𝑡 ↦ 𝑐 𝑚 𝑃, 𝑄 ↦ {𝐸} ↦ 𝑐 , 𝑖, 𝑜 , 𝑡 ↦ 𝑐
  • 9.
    𝑃 𝑐 {𝑄′} 事後条件 witnessedHoare triple 𝑄′(𝑜, 𝑤) ⟺ 𝑤 ⊢ 𝑄(𝑖, 𝑜) 𝑤 は 𝑖 と 𝑜 が仕様を満たすことの witness (explanation) 学習されたプログラム 𝑐 は 𝑤 も返すようにする (XAI?) 𝑐 の中の 𝑤 の痕跡を汎化することにより 𝑐 の正当性証明を構成できないか(例による証明?) 「𝑐 は 𝑄 を100%満たすわけでもない」と書いたが、 𝑄 を100%満たす(満たさねばならない)こともあるはず どうやって 𝑐 の正当性を⽰すのか?
  • 10.
    雑感 • ブラックボックス計算の設計論は余りに貧弱 • 元来、進化計算や⾃然計算では、進化や学習を制御することは「ハー ネス(harness)」と呼ばれていた。しかし、中⾝はない。 • 帰納的・探索に基づいて得られたプログラムの正当性は? • ⾼次元空間のままでよいのか。近似に留まってよいのか。 • ブラックボックス計算に適した(⾼次元の)記号表現はないのか。前 のスライドでwitnessと呼んだもの • ⼈知を超えるかもしれないが • 個次元記号表現の汎化 • ⾼次元プログラムと⾼次元記号表現による⾼次元検証・モデル検査