Skip to content

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

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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions