Skip to content

以強化學習訓練結構優化神經網路 #1

@jacky09299

Description

@jacky09299

(先選擇train_optimization分支,再開始寫程式)

目標:訓練一個神經網路,輸入外殼,輸出強度高的內部結構。

作法:
在資料夾train中,寫一個train_optimization.py。
透過類似alphago 的作法,在train_optimization.py,寫一個強化學習。神經網路的輸入是一個三維矩陣boundary,輸出是一個三維矩陣points和鍵結機率probability。
boundary: 是一個三維矩陣,代表外殼,有材料的部分是1,其他空的地方是0。
points:是三維矩陣, 代表內部的一些點,有點的位置是1,無點的位置是0。
probability :是一個介於0~100的正實數。

透過調用create_structure()可以從boundary,points和probability建構出一個結構structure。將兩個結構structure1和structure2輸入win()可以得出哪一個結構較好。

假設下面的程式已寫好,並放在同一個資料夾,程式分別放在structure_test.py和battle_test.py裡:

structure_test.py:
有一個函式create_structure(boundary,points,probability)會輸出一個三維矩陣structure。
def create_structure(boundary,points,probability):
return structure

battle_test.py:
有一個函式win (structure1, structure2),輸出兩個值,score1, score2,如果structure1比structure2強則輸出1, 0,反之則輸出0, 1。
def win (structure1, structure2):
return score1, score2

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions