Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stage 1-3 #4

Closed
2 tasks done
karaage0703 opened this issue Jan 6, 2022 · 12 comments
Closed
2 tasks done

Stage 1-3 #4

karaage0703 opened this issue Jan 6, 2022 · 12 comments

Comments

@karaage0703
Copy link
Owner

karaage0703 commented Jan 6, 2022

Stage

1-3

Status

  • Create Notebook
  • Clear

Challenge Notebook Link

https://colab.research.google.com/drive/12bD4A63g4oTSzdF3_gW1xj7w4l2X249Z?usp=sharing

Best Movie

ai_mario_1_3_0008_002_clear.mp4

Best Trained Model

https://drive.google.com/file/d/1fhUFYLpA4AEJ7sYt9YXWQaLk7Al9RuRY/view?usp=sharing

Challenger

@karaage0703

@karaage0703 karaage0703 changed the title Stage x-x Stage 1-3 Jan 6, 2022
@karaage0703
Copy link
Owner Author

karaage0703 commented Jan 7, 2022

Challenge 0001

設定

1-2と同じハイパーパラメータで学習。

結果

全く学習すすまない。
result_0001

何回やってもほとんど同じ動き。上に行けない

ai_mario_0001.mp4

所感

何故学習が進まないのかよくわからない。

@karaage0703
Copy link
Owner Author

Challenge 0002

設定

色々試す。以下実施。

  • SIMPLE_MOVEMENT -> COMPLEX_MOVEMENT
  • SKIP 4 -> 2
  • LEARNING RATE 0.00002 GAE 0.9
  • COMPLEX _MOVEMENT SKIP 4 SKIP_PROB = 0.25 LEARNING RATE 0.0001 GAE 0.9

結果

全部ダメ(ほとんど 0001と変わらない)。

所感

@karaage0703
Copy link
Owner Author

Challenge 0003

設定

上に行けるように報酬を高いところに行くほど与えてみる。

class CustomRewardAndDoneEnv(gym.Wrapper):
    def __init__(self, env=None):
        super(CustomRewardAndDoneEnv, self).__init__(env)
        self.curr_score = 0
        self.current_x = 40
        self.current_y = 79

    def step(self, action):
        state, reward, done, info = self.env.step(action)

        reward += (info["score"] - self.curr_score) / 40.
        reward += (info["y_pos"] - self.current_y)

        self.curr_score = info["score"]
        if done:
            if info["flag_get"]:
                reward += 50
            else:
                reward -= 50

        self.current_x = info["x_pos"]
        return state, reward / 10., done, info

    def reset(self):
        self.curr_score = 0
        self.current_x = 40
        self.current_y = 79
        return self.env.reset()

結果

おばかマリオが爆誕

ai_mario_0003.mp4

所感

報酬が単純過ぎました。でもどんどん作り込んでいったらルールベースと変わらないのでは?

@chottokun
Copy link

Status

  • Create Notebook
  • Clear

Challenge Notebook Link

https://github.com/chottokun/mario-ai-challenge/blob/Colaboratory/mario_ai_challenge_1_3_v3_local.ipynb

Best Movie

ai_mario.mp4

Best Trained Model

best trained model

image

コメント

見様見真似でやってみました。
Colaboratory(無料)では辛かったので遊んでいるno gpuのpcで計算させました。
ここで作戦変更したほうがいいのか。少々諦め気味です。

突然の乱入失礼です。

@karaage0703
Copy link
Owner Author

@chottokun
ありがとうございます。私が詰まったところクリアしてる!
参考にさせていただきます!

@karaage0703
Copy link
Owner Author

karaage0703 commented Jan 11, 2022

Challenge 0004

設定

  • 報酬を調整。コインはあまり重視しない。デスペナルティを大きく
  • CNNをカスタム
  • 20時間以上(約50万タイムステップ)学習

ノートブック

https://drive.google.com/file/d/14hYsrKXC270dfSLdsuoCyJcfAifLw80m/view?usp=sharing

結果

わりと賢くなってきた。

result_0004

ai_mario_1_3_0004.mp4

所感

このまま学習させればクリアできるか?

@karaage0703
Copy link
Owner Author

Challenge 0005

設定

0004から継続して学習

ノートブック

https://drive.google.com/file/d/14hYsrKXC270dfSLdsuoCyJcfAifLw80m/view?usp=sharing

結果

result_0005

ai_mario_1_3_0005.mp4

所感

伸び悩んでいる…

@karaage0703
Copy link
Owner Author

karaage0703 commented Jan 13, 2022

Challenge 0006

設定

動く足場でジャンプするところ、学習させる連続フレーム数を増やすとうまくジャンプできるかなと試しに丸一日学習させたけど、全然学習が進まなかった。

具体的には STACK_FRAME_NUMB を 4 -> 8 にした。

ノートブック

https://drive.google.com/file/d/14hYsrKXC270dfSLdsuoCyJcfAifLw80m/view?usp=sharing

結果

省略

所感

うーん、ちょっと停滞気味。

@karaage0703
Copy link
Owner Author

Challenge 0007

設定

2-1をクリアした @Kazuhito00 さんのノートブックをステージだけ改変してテスト

ノートブック

https://colab.research.google.com/drive/1e-KNSFd5NBpUIqY9Z1HpXm3ehZwh9Q7r

結果

mario_1_3_0007

所感

完全に局所解におちてしまった。学習率上げるのと、ニューラルネットと報酬を見直してみる。

@Kazuhito00
Copy link
Contributor

Kazuhito00 commented Jan 13, 2022

これは難しそうですね。。。
他のステージだとしばらく学習し続けてると、抜け出してまた成長しだしたりしましたが、
このグラフだとソレは絶望的な気がします🤔
ベストリワードが高いところもあるので、完全に望み薄でもなさそうなところが悩ましい👀

@chottokun
Copy link

現状

ai_mario.mp4

コメント

さらに継続して5100000回回した中でのベスト。
同じように伸び悩んでいます。

@karaage0703
Copy link
Owner Author

karaage0703 commented Jan 15, 2022

Challenge 0008

設定

2-1をクリアした @Kazuhito00 さんのノートブックに以下変更してクリア!

  • 学習率調整(0.00001 -> 0.0001)
  • CNNネットワークを変更

ノートブック

結果

同じ設定で2回学習させて、2回目でクリア。

学習率が大きめなので、学習が安定していないのかも。

1回目(クリア失敗)

result_0008_001

ai_mario_1_3_0008_001.mp4

2回目(クリア成功)

result_0008_002

ai_mario_1_3_0008_002_clear.mp4

所感

みなさんの知見に助けられました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants