├── fang-fa ├── ji-shi-zhan-lve-you-xi │ ├── README.md │ ├── alphastar.md │ ├── macro-action-sl.md │ ├── bic-net.md │ ├── on-reinforcement-learning-for-full-length-game-of-starcraft.md │ ├── combining-strategic-learning-and-tactical-search-in-real-time-strategy-games.md │ ├── zero-order.md │ ├── iql.md │ ├── counterfactual-multi-agent-policy-gradients.md │ └── puppet-search.md ├── kai-fang-de-tiao-zhan │ ├── README.md │ ├── ji-suan-zi-yuan.md │ ├── duo-zhi-neng-ti.md │ ├── chu-li-ju-da-de-zhuang-tai-kong-jian.md │ ├── kuai-su-shi-ying.md │ ├── chuang-zao-xin-de-you-xi.md │ ├── xi-shu-3001-yan-chi-3001-qi-pian-xing-de-hui-bao.md │ ├── xiang-ren-lei-yi-yang-wan-you-xi.md │ ├── jiao-hu-shi-you-xi-kai-fa.md │ ├── xue-xi-you-xi-de-mo-xing.md │ ├── ke-diao-jie-de-xing-neng-deng-ji.md │ ├── gong-ye-jie-ying-yong.md │ └── you-xi-tong-yong-xing.md ├── tuan-dui-ti-yu-you-xi │ ├── README.md │ ├── object-centric-prediction.md │ ├── ddpg-+-mixing-policy-targets.md │ └── ddpg-+-inverting-gradients.md ├── wen-zi-mao-xian-you-xi │ ├── README.md │ ├── golovin.md │ ├── ae-dqn.md │ ├── affordance-based-action-selection.md │ ├── drrn.md │ └── lstm-dqn.md ├── kai-fang-shi-jie-you-xi │ ├── README.md │ ├── h-drln.md │ └── teacher-student-curriculum-learning.md ├── di-yi-ren-cheng-she-ji-you-xi │ ├── README.md │ ├── for-the-win.md │ ├── dqn-with-slam.md │ └── direct-future-prediction.md ├── jie-ji-you-xi │ ├── README.md │ ├── retrace-l.md │ ├── distributed-deep-q-learning.md │ ├── deep-recurrent-q-learning.md │ ├── rainbow.md │ ├── bootstrapped-deep-q-network.md │ ├── prioritized-experience-replay.md │ ├── noisy-network.md │ ├── deep-q-network.md │ ├── dueling-deep-q-network.md │ ├── deep-ga.md │ ├── multiagent-deep-q-network.md │ ├── proximal-policy-optimization.md │ ├── actor-mimic.md │ ├── asynchronous-deep-reinforcement-learning.md │ ├── hra.md │ ├── action-conditional-video-predictionusing-deep-networks-in-atari-games.md │ ├── loss-is-its-own-reward-self-supervision-for-reinforcement-learning.md │ ├── double-deep-q-learning.md │ ├── unreal.md │ ├── progressive-neural-networks.md │ ├── ucttoclassification.md │ ├── policy-distillation.md │ ├── es.md │ └── actor-critic-using-kronecker-factored-trust-region.md ├── jing-su-you-xi │ ├── README.md │ ├── td3.md │ ├── for-the-win.md │ ├── ddpg.md │ └── deep-driving.md └── ment-te-zu-ma-de-fu-chou │ ├── README.md │ ├── ape-x.md │ ├── hierarchical-dqn.md │ ├── dqfd.md │ ├── ape-x-dqfd.md │ ├── beating-atari-with-natural-language-guided-reinforcement-learning.md │ └── pixel-recurrent-neural-networks.md ├── fu-lu ├── model-based-rl │ ├── README.md │ ├── world-models.md │ ├── i2a.md │ ├── mbmf.md │ └── mbve.md ├── policy-gradient │ ├── README.md │ ├── ppo-penalty.md │ ├── advantage-estimation.md │ └── soft-actor-critic.md ├── distributional-rl │ ├── README.md │ └── qr-dqn.md ├── transfer-and-multitask-rl │ ├── README.md │ └── her.md └── imitation-learning-and-inverse-reinforcement-learning │ ├── README.md │ └── gail.md ├── .gitbook └── assets │ ├── ale.png │ ├── ann.png │ ├── cnn.png │ ├── elf.png │ ├── hfo.png │ ├── rl.png │ ├── rle.png │ ├── rnn.png │ ├── all-1.png │ ├── image.png │ ├── sc2le.png │ ├── torcs.png │ ├── elf_code.png │ ├── image-10.png │ ├── image-11.png │ ├── image-12.png │ ├── image-13.png │ ├── image-14.png │ ├── image-15.png │ ├── image-16.png │ ├── image-17.png │ ├── image-18.png │ ├── image-19.png │ ├── image-2.png │ ├── image-20.png │ ├── image-21.png │ ├── image-22.png │ ├── image-23.png │ ├── image-24.png │ ├── image-25.png │ ├── image-26.png │ ├── image-27.png │ ├── image-28.png │ ├── image-3.png │ ├── image-30.png │ ├── image-31.png │ ├── image-32.png │ ├── image-33.png │ ├── image-34.png │ ├── image-35.png │ ├── image-36.png │ ├── image-37.png │ ├── image-39.png │ ├── image-4.png │ ├── image-40.png │ ├── image-41.png │ ├── image-42.png │ ├── image-43.png │ ├── image-44.png │ ├── image-45.png │ ├── image-46.png │ ├── image-47.png │ ├── image-48.png │ ├── image-49.png │ ├── image-5.png │ ├── image-50.png │ ├── image-51.png │ ├── image-52.png │ ├── image-53.png │ ├── image-54.png │ ├── image-55.png │ ├── image-56.png │ ├── image-57.png │ ├── image-58.png │ ├── image-59.png │ ├── image-6.png │ ├── image-60.png │ ├── image-61.png │ ├── image-62.png │ ├── image-63.png │ ├── image-64.png │ ├── image-65.png │ ├── image-66.png │ ├── image-67.png │ ├── image-68.png │ ├── image-69.png │ ├── image-7.png │ ├── image-70.png │ ├── image-71.png │ ├── image-72.png │ ├── image-73.png │ ├── image-74.png │ ├── image-75.png │ ├── image-76.png │ ├── image-77.png │ ├── image-78.png │ ├── image-79.png │ ├── image-8.png │ ├── image-80.png │ ├── image-81.png │ ├── image-82.png │ ├── image-83.png │ ├── image-84.png │ ├── image-86.png │ ├── image-87.png │ ├── image-88.png │ ├── image-89.png │ ├── image-9.png │ ├── image-90.png │ ├── image-91.png │ ├── image-92.png │ ├── image-93.png │ ├── image-94.png │ ├── image-95.png │ ├── image-96.png │ ├── image-97.png │ ├── image-98.png │ ├── image-99.png │ ├── vizdoom.png │ ├── image (1).png │ ├── image (10).png │ ├── image (11).png │ ├── image (12).png │ ├── image (13).png │ ├── image (14).png │ ├── image (15).png │ ├── image (16).png │ ├── image (17).png │ ├── image (18).png │ ├── image (19).png │ ├── image (2).png │ ├── image (20).png │ ├── image (21).png │ ├── image (22).png │ ├── image (23).png │ ├── image (24).png │ ├── image (25).png │ ├── image (26).png │ ├── image (27).png │ ├── image (28).png │ ├── image (29).png │ ├── image (3).png │ ├── image (30).png │ ├── image (31).png │ ├── image (32).png │ ├── image (33).png │ ├── image (34).png │ ├── image (35).png │ ├── image (36).png │ ├── image (37).png │ ├── image (38).png │ ├── image (39).png │ ├── image (4).png │ ├── image (40).png │ ├── image (41).png │ ├── image (42).png │ ├── image (43).png │ ├── image (44).png │ ├── image (45).png │ ├── image (46).png │ ├── image (47).png │ ├── image (48).png │ ├── image (49).png │ ├── image (5).png │ ├── image (50).png │ ├── image (51).png │ ├── image (52).png │ ├── image (53).png │ ├── image (54).png │ ├── image (55).png │ ├── image (56).png │ ├── image (57).png │ ├── image (58).png │ ├── image (59).png │ ├── image (6).png │ ├── image (60).png │ ├── image (61).png │ ├── image (62).png │ ├── image (63).png │ ├── image (64).png │ ├── image (65).png │ ├── image (66).png │ ├── image (67).png │ ├── image (68).png │ ├── image (69).png │ ├── image (7).png │ ├── image (70).png │ ├── image (71).png │ ├── image (72).png │ ├── image (73).png │ ├── image (74).png │ ├── image (75).png │ ├── image (76).png │ ├── image (77).png │ ├── image (78).png │ ├── image (79).png │ ├── image (8).png │ ├── image (80).png │ ├── image (81).png │ ├── image (82).png │ ├── image (83).png │ ├── image (84).png │ ├── image (85).png │ ├── image (86).png │ ├── image (87).png │ ├── image (88).png │ ├── image (89).png │ ├── image (9).png │ ├── image (90).png │ ├── image (91).png │ ├── image (92).png │ ├── image (93).png │ ├── image (94).png │ ├── image (95).png │ ├── image (96).png │ ├── image (97).png │ ├── image (98).png │ ├── image (99).png │ ├── image-100.png │ ├── image-101.png │ ├── image-102.png │ ├── image-103.png │ ├── image-104.png │ ├── image-105.png │ ├── image-106.png │ ├── image-107.png │ ├── image-108.png │ ├── image-109.png │ ├── image-110.png │ ├── image-111.png │ ├── image-112.png │ ├── minecraft.png │ ├── textworld.png │ ├── torchcraft.png │ ├── deepmind_lab.png │ ├── image (100).png │ ├── image (101).png │ ├── image (102).png │ ├── image (103).png │ ├── image (104).png │ ├── image (105).png │ ├── image (106).png │ ├── image (107).png │ ├── image (108).png │ ├── image (109).png │ ├── image (110).png │ ├── image (111).png │ ├── image (112).png │ ├── image (113).png │ ├── image (114).png │ ├── image (115).png │ ├── image (116).png │ ├── image (117).png │ ├── image (118).png │ ├── image (119).png │ ├── image (120).png │ ├── image (121).png │ ├── image (122).png │ ├── image (123).png │ ├── image (124).png │ ├── image (125).png │ ├── image (126).png │ ├── image (127).png │ ├── image (128).png │ ├── image (129).png │ ├── image (130).png │ ├── image (131).png │ ├── image (132).png │ ├── image (133).png │ ├── image (134).png │ ├── image (135).png │ ├── image (136).png │ ├── image (137).png │ ├── image (138).png │ ├── image (139).png │ ├── image (140).png │ ├── image (141).png │ ├── image (142).png │ ├── image (143).png │ ├── image (144).png │ ├── image (145).png │ ├── image (146).png │ ├── image (147).png │ ├── image (148).png │ ├── image (149).png │ ├── image (150).png │ ├── image (151).png │ ├── image (152).png │ ├── image (153).png │ ├── image (154).png │ ├── image (155).png │ ├── image (156).png │ ├── image (157).png │ ├── image (158).png │ ├── image (159).png │ ├── image (160).png │ ├── image (161).png │ ├── image (162).png │ ├── image (163).png │ ├── image (164).png │ ├── image (165).png │ ├── image (166).png │ ├── image (167).png │ ├── image (168).png │ ├── image (169).png │ ├── image (170).png │ ├── image (171).png │ ├── image (172).png │ ├── image (173).png │ ├── image (174).png │ ├── image (175).png │ ├── image (176).png │ ├── image (177).png │ ├── image (178).png │ ├── image (179).png │ ├── image (180).png │ ├── image (181).png │ ├── image (182).png │ ├── image (183).png │ ├── image (184).png │ ├── image (185).png │ ├── image (186).png │ ├── image (187).png │ ├── image (188).png │ ├── image (189).png │ ├── image (190).png │ ├── image (191).png │ ├── image (192).png │ ├── image (193).png │ └── text-based-games.png ├── qian-yan ├── yan-jiu-ping-tai │ ├── openai-gym-and-universe.md │ ├── README.md │ ├── kai-fang-shi-jie-you-xi.md │ ├── jing-su-you-xi.md │ ├── wen-zi-mao-xian-you-xi.md │ ├── tuan-dui-ti-yu-you-xi.md │ ├── di-yi-ren-cheng-she-ji-you-xi.md │ ├── jie-ji-you-xi.md │ └── ji-shi-zhan-lve-you-xi.md └── xiang-guan-shu-ji.md ├── README.md └── .gitignore /fang-fa/ji-shi-zhan-lve-you-xi/README.md: -------------------------------------------------------------------------------- 1 | # 即时战略游戏 2 | 3 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/README.md: -------------------------------------------------------------------------------- 1 | # 开放的挑战 2 | 3 | -------------------------------------------------------------------------------- /fang-fa/tuan-dui-ti-yu-you-xi/README.md: -------------------------------------------------------------------------------- 1 | # 团队体育游戏 2 | 3 | -------------------------------------------------------------------------------- /fang-fa/wen-zi-mao-xian-you-xi/README.md: -------------------------------------------------------------------------------- 1 | # 文字冒险游戏 2 | 3 | -------------------------------------------------------------------------------- /fu-lu/model-based-rl/README.md: -------------------------------------------------------------------------------- 1 | # Model-Based RL 2 | 3 | -------------------------------------------------------------------------------- /fu-lu/policy-gradient/README.md: -------------------------------------------------------------------------------- 1 | # Policy Gradient 2 | 3 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-shi-jie-you-xi/README.md: -------------------------------------------------------------------------------- 1 | # 开放世界游戏 2 | 3 | -------------------------------------------------------------------------------- /fu-lu/distributional-rl/README.md: -------------------------------------------------------------------------------- 1 | # Distributional RL 2 | 3 | -------------------------------------------------------------------------------- /fang-fa/di-yi-ren-cheng-she-ji-you-xi/README.md: -------------------------------------------------------------------------------- 1 | # 第一人称射击游戏 2 | 3 | -------------------------------------------------------------------------------- /fu-lu/transfer-and-multitask-rl/README.md: -------------------------------------------------------------------------------- 1 | # Transfer and Multitask RL 2 | 3 | -------------------------------------------------------------------------------- /fu-lu/model-based-rl/world-models.md: -------------------------------------------------------------------------------- 1 | # World Models 2 | 3 | > [World Models](https://worldmodels.github.io/) 4 | 5 | -------------------------------------------------------------------------------- /.gitbook/assets/ale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/ale.png -------------------------------------------------------------------------------- /.gitbook/assets/ann.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/ann.png -------------------------------------------------------------------------------- /.gitbook/assets/cnn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/cnn.png -------------------------------------------------------------------------------- /.gitbook/assets/elf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/elf.png -------------------------------------------------------------------------------- /.gitbook/assets/hfo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/hfo.png -------------------------------------------------------------------------------- /.gitbook/assets/rl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/rl.png -------------------------------------------------------------------------------- /.gitbook/assets/rle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/rle.png -------------------------------------------------------------------------------- /.gitbook/assets/rnn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/rnn.png -------------------------------------------------------------------------------- /.gitbook/assets/all-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/all-1.png -------------------------------------------------------------------------------- /.gitbook/assets/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image.png -------------------------------------------------------------------------------- /.gitbook/assets/sc2le.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/sc2le.png -------------------------------------------------------------------------------- /.gitbook/assets/torcs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/torcs.png -------------------------------------------------------------------------------- /.gitbook/assets/elf_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/elf_code.png -------------------------------------------------------------------------------- /.gitbook/assets/image-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-10.png -------------------------------------------------------------------------------- /.gitbook/assets/image-11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-11.png -------------------------------------------------------------------------------- /.gitbook/assets/image-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-12.png -------------------------------------------------------------------------------- /.gitbook/assets/image-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-13.png -------------------------------------------------------------------------------- /.gitbook/assets/image-14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-14.png -------------------------------------------------------------------------------- /.gitbook/assets/image-15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-15.png -------------------------------------------------------------------------------- /.gitbook/assets/image-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-16.png -------------------------------------------------------------------------------- /.gitbook/assets/image-17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-17.png -------------------------------------------------------------------------------- /.gitbook/assets/image-18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-18.png -------------------------------------------------------------------------------- /.gitbook/assets/image-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-19.png -------------------------------------------------------------------------------- /.gitbook/assets/image-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-2.png -------------------------------------------------------------------------------- /.gitbook/assets/image-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-20.png -------------------------------------------------------------------------------- /.gitbook/assets/image-21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-21.png -------------------------------------------------------------------------------- /.gitbook/assets/image-22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-22.png -------------------------------------------------------------------------------- /.gitbook/assets/image-23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-23.png -------------------------------------------------------------------------------- /.gitbook/assets/image-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-24.png -------------------------------------------------------------------------------- /.gitbook/assets/image-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-25.png -------------------------------------------------------------------------------- /.gitbook/assets/image-26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-26.png -------------------------------------------------------------------------------- /.gitbook/assets/image-27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-27.png -------------------------------------------------------------------------------- /.gitbook/assets/image-28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-28.png -------------------------------------------------------------------------------- /.gitbook/assets/image-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-3.png -------------------------------------------------------------------------------- /.gitbook/assets/image-30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-30.png -------------------------------------------------------------------------------- /.gitbook/assets/image-31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-31.png -------------------------------------------------------------------------------- /.gitbook/assets/image-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-32.png -------------------------------------------------------------------------------- /.gitbook/assets/image-33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-33.png -------------------------------------------------------------------------------- /.gitbook/assets/image-34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-34.png -------------------------------------------------------------------------------- /.gitbook/assets/image-35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-35.png -------------------------------------------------------------------------------- /.gitbook/assets/image-36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-36.png -------------------------------------------------------------------------------- /.gitbook/assets/image-37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-37.png -------------------------------------------------------------------------------- /.gitbook/assets/image-39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-39.png -------------------------------------------------------------------------------- /.gitbook/assets/image-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-4.png -------------------------------------------------------------------------------- /.gitbook/assets/image-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-40.png -------------------------------------------------------------------------------- /.gitbook/assets/image-41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-41.png -------------------------------------------------------------------------------- /.gitbook/assets/image-42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-42.png -------------------------------------------------------------------------------- /.gitbook/assets/image-43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-43.png -------------------------------------------------------------------------------- /.gitbook/assets/image-44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-44.png -------------------------------------------------------------------------------- /.gitbook/assets/image-45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-45.png -------------------------------------------------------------------------------- /.gitbook/assets/image-46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-46.png -------------------------------------------------------------------------------- /.gitbook/assets/image-47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-47.png -------------------------------------------------------------------------------- /.gitbook/assets/image-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-48.png -------------------------------------------------------------------------------- /.gitbook/assets/image-49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-49.png -------------------------------------------------------------------------------- /.gitbook/assets/image-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-5.png -------------------------------------------------------------------------------- /.gitbook/assets/image-50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-50.png -------------------------------------------------------------------------------- /.gitbook/assets/image-51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-51.png -------------------------------------------------------------------------------- /.gitbook/assets/image-52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-52.png -------------------------------------------------------------------------------- /.gitbook/assets/image-53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-53.png -------------------------------------------------------------------------------- /.gitbook/assets/image-54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-54.png -------------------------------------------------------------------------------- /.gitbook/assets/image-55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-55.png -------------------------------------------------------------------------------- /.gitbook/assets/image-56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-56.png -------------------------------------------------------------------------------- /.gitbook/assets/image-57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-57.png -------------------------------------------------------------------------------- /.gitbook/assets/image-58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-58.png -------------------------------------------------------------------------------- /.gitbook/assets/image-59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-59.png -------------------------------------------------------------------------------- /.gitbook/assets/image-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-6.png -------------------------------------------------------------------------------- /.gitbook/assets/image-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-60.png -------------------------------------------------------------------------------- /.gitbook/assets/image-61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-61.png -------------------------------------------------------------------------------- /.gitbook/assets/image-62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-62.png -------------------------------------------------------------------------------- /.gitbook/assets/image-63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-63.png -------------------------------------------------------------------------------- /.gitbook/assets/image-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-64.png -------------------------------------------------------------------------------- /.gitbook/assets/image-65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-65.png -------------------------------------------------------------------------------- /.gitbook/assets/image-66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-66.png -------------------------------------------------------------------------------- /.gitbook/assets/image-67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-67.png -------------------------------------------------------------------------------- /.gitbook/assets/image-68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-68.png -------------------------------------------------------------------------------- /.gitbook/assets/image-69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-69.png -------------------------------------------------------------------------------- /.gitbook/assets/image-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-7.png -------------------------------------------------------------------------------- /.gitbook/assets/image-70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-70.png -------------------------------------------------------------------------------- /.gitbook/assets/image-71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-71.png -------------------------------------------------------------------------------- /.gitbook/assets/image-72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-72.png -------------------------------------------------------------------------------- /.gitbook/assets/image-73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-73.png -------------------------------------------------------------------------------- /.gitbook/assets/image-74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-74.png -------------------------------------------------------------------------------- /.gitbook/assets/image-75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-75.png -------------------------------------------------------------------------------- /.gitbook/assets/image-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-76.png -------------------------------------------------------------------------------- /.gitbook/assets/image-77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-77.png -------------------------------------------------------------------------------- /.gitbook/assets/image-78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-78.png -------------------------------------------------------------------------------- /.gitbook/assets/image-79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-79.png -------------------------------------------------------------------------------- /.gitbook/assets/image-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-8.png -------------------------------------------------------------------------------- /.gitbook/assets/image-80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-80.png -------------------------------------------------------------------------------- /.gitbook/assets/image-81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-81.png -------------------------------------------------------------------------------- /.gitbook/assets/image-82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-82.png -------------------------------------------------------------------------------- /.gitbook/assets/image-83.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-83.png -------------------------------------------------------------------------------- /.gitbook/assets/image-84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-84.png -------------------------------------------------------------------------------- /.gitbook/assets/image-86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-86.png -------------------------------------------------------------------------------- /.gitbook/assets/image-87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-87.png -------------------------------------------------------------------------------- /.gitbook/assets/image-88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-88.png -------------------------------------------------------------------------------- /.gitbook/assets/image-89.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-89.png -------------------------------------------------------------------------------- /.gitbook/assets/image-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-9.png -------------------------------------------------------------------------------- /.gitbook/assets/image-90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-90.png -------------------------------------------------------------------------------- /.gitbook/assets/image-91.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-91.png -------------------------------------------------------------------------------- /.gitbook/assets/image-92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-92.png -------------------------------------------------------------------------------- /.gitbook/assets/image-93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-93.png -------------------------------------------------------------------------------- /.gitbook/assets/image-94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-94.png -------------------------------------------------------------------------------- /.gitbook/assets/image-95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-95.png -------------------------------------------------------------------------------- /.gitbook/assets/image-96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-96.png -------------------------------------------------------------------------------- /.gitbook/assets/image-97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-97.png -------------------------------------------------------------------------------- /.gitbook/assets/image-98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-98.png -------------------------------------------------------------------------------- /.gitbook/assets/image-99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-99.png -------------------------------------------------------------------------------- /.gitbook/assets/vizdoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/vizdoom.png -------------------------------------------------------------------------------- /.gitbook/assets/image (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (1).png -------------------------------------------------------------------------------- /.gitbook/assets/image (10).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (10).png -------------------------------------------------------------------------------- /.gitbook/assets/image (11).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (11).png -------------------------------------------------------------------------------- /.gitbook/assets/image (12).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (12).png -------------------------------------------------------------------------------- /.gitbook/assets/image (13).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (13).png -------------------------------------------------------------------------------- /.gitbook/assets/image (14).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (14).png -------------------------------------------------------------------------------- /.gitbook/assets/image (15).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (15).png -------------------------------------------------------------------------------- /.gitbook/assets/image (16).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (16).png -------------------------------------------------------------------------------- /.gitbook/assets/image (17).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (17).png -------------------------------------------------------------------------------- /.gitbook/assets/image (18).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (18).png -------------------------------------------------------------------------------- /.gitbook/assets/image (19).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (19).png -------------------------------------------------------------------------------- /.gitbook/assets/image (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (2).png -------------------------------------------------------------------------------- /.gitbook/assets/image (20).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (20).png -------------------------------------------------------------------------------- /.gitbook/assets/image (21).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (21).png -------------------------------------------------------------------------------- /.gitbook/assets/image (22).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (22).png -------------------------------------------------------------------------------- /.gitbook/assets/image (23).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (23).png -------------------------------------------------------------------------------- /.gitbook/assets/image (24).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (24).png -------------------------------------------------------------------------------- /.gitbook/assets/image (25).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (25).png -------------------------------------------------------------------------------- /.gitbook/assets/image (26).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (26).png -------------------------------------------------------------------------------- /.gitbook/assets/image (27).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (27).png -------------------------------------------------------------------------------- /.gitbook/assets/image (28).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (28).png -------------------------------------------------------------------------------- /.gitbook/assets/image (29).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (29).png -------------------------------------------------------------------------------- /.gitbook/assets/image (3).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (3).png -------------------------------------------------------------------------------- /.gitbook/assets/image (30).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (30).png -------------------------------------------------------------------------------- /.gitbook/assets/image (31).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (31).png -------------------------------------------------------------------------------- /.gitbook/assets/image (32).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (32).png -------------------------------------------------------------------------------- /.gitbook/assets/image (33).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (33).png -------------------------------------------------------------------------------- /.gitbook/assets/image (34).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (34).png -------------------------------------------------------------------------------- /.gitbook/assets/image (35).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (35).png -------------------------------------------------------------------------------- /.gitbook/assets/image (36).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (36).png -------------------------------------------------------------------------------- /.gitbook/assets/image (37).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (37).png -------------------------------------------------------------------------------- /.gitbook/assets/image (38).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (38).png -------------------------------------------------------------------------------- /.gitbook/assets/image (39).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (39).png -------------------------------------------------------------------------------- /.gitbook/assets/image (4).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (4).png -------------------------------------------------------------------------------- /.gitbook/assets/image (40).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (40).png -------------------------------------------------------------------------------- /.gitbook/assets/image (41).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (41).png -------------------------------------------------------------------------------- /.gitbook/assets/image (42).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (42).png -------------------------------------------------------------------------------- /.gitbook/assets/image (43).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (43).png -------------------------------------------------------------------------------- /.gitbook/assets/image (44).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (44).png -------------------------------------------------------------------------------- /.gitbook/assets/image (45).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (45).png -------------------------------------------------------------------------------- /.gitbook/assets/image (46).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (46).png -------------------------------------------------------------------------------- /.gitbook/assets/image (47).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (47).png -------------------------------------------------------------------------------- /.gitbook/assets/image (48).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (48).png -------------------------------------------------------------------------------- /.gitbook/assets/image (49).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (49).png -------------------------------------------------------------------------------- /.gitbook/assets/image (5).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (5).png -------------------------------------------------------------------------------- /.gitbook/assets/image (50).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (50).png -------------------------------------------------------------------------------- /.gitbook/assets/image (51).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (51).png -------------------------------------------------------------------------------- /.gitbook/assets/image (52).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (52).png -------------------------------------------------------------------------------- /.gitbook/assets/image (53).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (53).png -------------------------------------------------------------------------------- /.gitbook/assets/image (54).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (54).png -------------------------------------------------------------------------------- /.gitbook/assets/image (55).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (55).png -------------------------------------------------------------------------------- /.gitbook/assets/image (56).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (56).png -------------------------------------------------------------------------------- /.gitbook/assets/image (57).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (57).png -------------------------------------------------------------------------------- /.gitbook/assets/image (58).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (58).png -------------------------------------------------------------------------------- /.gitbook/assets/image (59).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (59).png -------------------------------------------------------------------------------- /.gitbook/assets/image (6).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (6).png -------------------------------------------------------------------------------- /.gitbook/assets/image (60).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (60).png -------------------------------------------------------------------------------- /.gitbook/assets/image (61).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (61).png -------------------------------------------------------------------------------- /.gitbook/assets/image (62).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (62).png -------------------------------------------------------------------------------- /.gitbook/assets/image (63).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (63).png -------------------------------------------------------------------------------- /.gitbook/assets/image (64).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (64).png -------------------------------------------------------------------------------- /.gitbook/assets/image (65).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (65).png -------------------------------------------------------------------------------- /.gitbook/assets/image (66).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (66).png -------------------------------------------------------------------------------- /.gitbook/assets/image (67).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (67).png -------------------------------------------------------------------------------- /.gitbook/assets/image (68).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (68).png -------------------------------------------------------------------------------- /.gitbook/assets/image (69).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (69).png -------------------------------------------------------------------------------- /.gitbook/assets/image (7).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (7).png -------------------------------------------------------------------------------- /.gitbook/assets/image (70).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (70).png -------------------------------------------------------------------------------- /.gitbook/assets/image (71).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (71).png -------------------------------------------------------------------------------- /.gitbook/assets/image (72).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (72).png -------------------------------------------------------------------------------- /.gitbook/assets/image (73).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (73).png -------------------------------------------------------------------------------- /.gitbook/assets/image (74).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (74).png -------------------------------------------------------------------------------- /.gitbook/assets/image (75).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (75).png -------------------------------------------------------------------------------- /.gitbook/assets/image (76).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (76).png -------------------------------------------------------------------------------- /.gitbook/assets/image (77).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (77).png -------------------------------------------------------------------------------- /.gitbook/assets/image (78).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (78).png -------------------------------------------------------------------------------- /.gitbook/assets/image (79).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (79).png -------------------------------------------------------------------------------- /.gitbook/assets/image (8).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (8).png -------------------------------------------------------------------------------- /.gitbook/assets/image (80).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (80).png -------------------------------------------------------------------------------- /.gitbook/assets/image (81).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (81).png -------------------------------------------------------------------------------- /.gitbook/assets/image (82).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (82).png -------------------------------------------------------------------------------- /.gitbook/assets/image (83).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (83).png -------------------------------------------------------------------------------- /.gitbook/assets/image (84).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (84).png -------------------------------------------------------------------------------- /.gitbook/assets/image (85).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (85).png -------------------------------------------------------------------------------- /.gitbook/assets/image (86).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (86).png -------------------------------------------------------------------------------- /.gitbook/assets/image (87).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (87).png -------------------------------------------------------------------------------- /.gitbook/assets/image (88).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (88).png -------------------------------------------------------------------------------- /.gitbook/assets/image (89).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (89).png -------------------------------------------------------------------------------- /.gitbook/assets/image (9).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (9).png -------------------------------------------------------------------------------- /.gitbook/assets/image (90).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (90).png -------------------------------------------------------------------------------- /.gitbook/assets/image (91).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (91).png -------------------------------------------------------------------------------- /.gitbook/assets/image (92).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (92).png -------------------------------------------------------------------------------- /.gitbook/assets/image (93).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (93).png -------------------------------------------------------------------------------- /.gitbook/assets/image (94).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (94).png -------------------------------------------------------------------------------- /.gitbook/assets/image (95).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (95).png -------------------------------------------------------------------------------- /.gitbook/assets/image (96).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (96).png -------------------------------------------------------------------------------- /.gitbook/assets/image (97).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (97).png -------------------------------------------------------------------------------- /.gitbook/assets/image (98).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (98).png -------------------------------------------------------------------------------- /.gitbook/assets/image (99).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (99).png -------------------------------------------------------------------------------- /.gitbook/assets/image-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-100.png -------------------------------------------------------------------------------- /.gitbook/assets/image-101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-101.png -------------------------------------------------------------------------------- /.gitbook/assets/image-102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-102.png -------------------------------------------------------------------------------- /.gitbook/assets/image-103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-103.png -------------------------------------------------------------------------------- /.gitbook/assets/image-104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-104.png -------------------------------------------------------------------------------- /.gitbook/assets/image-105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-105.png -------------------------------------------------------------------------------- /.gitbook/assets/image-106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-106.png -------------------------------------------------------------------------------- /.gitbook/assets/image-107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-107.png -------------------------------------------------------------------------------- /.gitbook/assets/image-108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-108.png -------------------------------------------------------------------------------- /.gitbook/assets/image-109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-109.png -------------------------------------------------------------------------------- /.gitbook/assets/image-110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-110.png -------------------------------------------------------------------------------- /.gitbook/assets/image-111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-111.png -------------------------------------------------------------------------------- /.gitbook/assets/image-112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image-112.png -------------------------------------------------------------------------------- /.gitbook/assets/minecraft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/minecraft.png -------------------------------------------------------------------------------- /.gitbook/assets/textworld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/textworld.png -------------------------------------------------------------------------------- /.gitbook/assets/torchcraft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/torchcraft.png -------------------------------------------------------------------------------- /fu-lu/imitation-learning-and-inverse-reinforcement-learning/README.md: -------------------------------------------------------------------------------- 1 | # Imitation Learning and Inverse Reinforcement Learning 2 | 3 | -------------------------------------------------------------------------------- /fu-lu/transfer-and-multitask-rl/her.md: -------------------------------------------------------------------------------- 1 | # HER 2 | 3 | > [Hindsight Experience Replay](https://arxiv.org/abs/1707.01495) 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.gitbook/assets/deepmind_lab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/deepmind_lab.png -------------------------------------------------------------------------------- /.gitbook/assets/image (100).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (100).png -------------------------------------------------------------------------------- /.gitbook/assets/image (101).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (101).png -------------------------------------------------------------------------------- /.gitbook/assets/image (102).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (102).png -------------------------------------------------------------------------------- /.gitbook/assets/image (103).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (103).png -------------------------------------------------------------------------------- /.gitbook/assets/image (104).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (104).png -------------------------------------------------------------------------------- /.gitbook/assets/image (105).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (105).png -------------------------------------------------------------------------------- /.gitbook/assets/image (106).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (106).png -------------------------------------------------------------------------------- /.gitbook/assets/image (107).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (107).png -------------------------------------------------------------------------------- /.gitbook/assets/image (108).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (108).png -------------------------------------------------------------------------------- /.gitbook/assets/image (109).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (109).png -------------------------------------------------------------------------------- /.gitbook/assets/image (110).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (110).png -------------------------------------------------------------------------------- /.gitbook/assets/image (111).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (111).png -------------------------------------------------------------------------------- /.gitbook/assets/image (112).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (112).png -------------------------------------------------------------------------------- /.gitbook/assets/image (113).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (113).png -------------------------------------------------------------------------------- /.gitbook/assets/image (114).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (114).png -------------------------------------------------------------------------------- /.gitbook/assets/image (115).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (115).png -------------------------------------------------------------------------------- /.gitbook/assets/image (116).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (116).png -------------------------------------------------------------------------------- /.gitbook/assets/image (117).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (117).png -------------------------------------------------------------------------------- /.gitbook/assets/image (118).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (118).png -------------------------------------------------------------------------------- /.gitbook/assets/image (119).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (119).png -------------------------------------------------------------------------------- /.gitbook/assets/image (120).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (120).png -------------------------------------------------------------------------------- /.gitbook/assets/image (121).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (121).png -------------------------------------------------------------------------------- /.gitbook/assets/image (122).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (122).png -------------------------------------------------------------------------------- /.gitbook/assets/image (123).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (123).png -------------------------------------------------------------------------------- /.gitbook/assets/image (124).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (124).png -------------------------------------------------------------------------------- /.gitbook/assets/image (125).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (125).png -------------------------------------------------------------------------------- /.gitbook/assets/image (126).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (126).png -------------------------------------------------------------------------------- /.gitbook/assets/image (127).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (127).png -------------------------------------------------------------------------------- /.gitbook/assets/image (128).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (128).png -------------------------------------------------------------------------------- /.gitbook/assets/image (129).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (129).png -------------------------------------------------------------------------------- /.gitbook/assets/image (130).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (130).png -------------------------------------------------------------------------------- /.gitbook/assets/image (131).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (131).png -------------------------------------------------------------------------------- /.gitbook/assets/image (132).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (132).png -------------------------------------------------------------------------------- /.gitbook/assets/image (133).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (133).png -------------------------------------------------------------------------------- /.gitbook/assets/image (134).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (134).png -------------------------------------------------------------------------------- /.gitbook/assets/image (135).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (135).png -------------------------------------------------------------------------------- /.gitbook/assets/image (136).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (136).png -------------------------------------------------------------------------------- /.gitbook/assets/image (137).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (137).png -------------------------------------------------------------------------------- /.gitbook/assets/image (138).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (138).png -------------------------------------------------------------------------------- /.gitbook/assets/image (139).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (139).png -------------------------------------------------------------------------------- /.gitbook/assets/image (140).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (140).png -------------------------------------------------------------------------------- /.gitbook/assets/image (141).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (141).png -------------------------------------------------------------------------------- /.gitbook/assets/image (142).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (142).png -------------------------------------------------------------------------------- /.gitbook/assets/image (143).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (143).png -------------------------------------------------------------------------------- /.gitbook/assets/image (144).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (144).png -------------------------------------------------------------------------------- /.gitbook/assets/image (145).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (145).png -------------------------------------------------------------------------------- /.gitbook/assets/image (146).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (146).png -------------------------------------------------------------------------------- /.gitbook/assets/image (147).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (147).png -------------------------------------------------------------------------------- /.gitbook/assets/image (148).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (148).png -------------------------------------------------------------------------------- /.gitbook/assets/image (149).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (149).png -------------------------------------------------------------------------------- /.gitbook/assets/image (150).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (150).png -------------------------------------------------------------------------------- /.gitbook/assets/image (151).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (151).png -------------------------------------------------------------------------------- /.gitbook/assets/image (152).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (152).png -------------------------------------------------------------------------------- /.gitbook/assets/image (153).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (153).png -------------------------------------------------------------------------------- /.gitbook/assets/image (154).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (154).png -------------------------------------------------------------------------------- /.gitbook/assets/image (155).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (155).png -------------------------------------------------------------------------------- /.gitbook/assets/image (156).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (156).png -------------------------------------------------------------------------------- /.gitbook/assets/image (157).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (157).png -------------------------------------------------------------------------------- /.gitbook/assets/image (158).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (158).png -------------------------------------------------------------------------------- /.gitbook/assets/image (159).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (159).png -------------------------------------------------------------------------------- /.gitbook/assets/image (160).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (160).png -------------------------------------------------------------------------------- /.gitbook/assets/image (161).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (161).png -------------------------------------------------------------------------------- /.gitbook/assets/image (162).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (162).png -------------------------------------------------------------------------------- /.gitbook/assets/image (163).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (163).png -------------------------------------------------------------------------------- /.gitbook/assets/image (164).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (164).png -------------------------------------------------------------------------------- /.gitbook/assets/image (165).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (165).png -------------------------------------------------------------------------------- /.gitbook/assets/image (166).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (166).png -------------------------------------------------------------------------------- /.gitbook/assets/image (167).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (167).png -------------------------------------------------------------------------------- /.gitbook/assets/image (168).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (168).png -------------------------------------------------------------------------------- /.gitbook/assets/image (169).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (169).png -------------------------------------------------------------------------------- /.gitbook/assets/image (170).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (170).png -------------------------------------------------------------------------------- /.gitbook/assets/image (171).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (171).png -------------------------------------------------------------------------------- /.gitbook/assets/image (172).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (172).png -------------------------------------------------------------------------------- /.gitbook/assets/image (173).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (173).png -------------------------------------------------------------------------------- /.gitbook/assets/image (174).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (174).png -------------------------------------------------------------------------------- /.gitbook/assets/image (175).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (175).png -------------------------------------------------------------------------------- /.gitbook/assets/image (176).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (176).png -------------------------------------------------------------------------------- /.gitbook/assets/image (177).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (177).png -------------------------------------------------------------------------------- /.gitbook/assets/image (178).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (178).png -------------------------------------------------------------------------------- /.gitbook/assets/image (179).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (179).png -------------------------------------------------------------------------------- /.gitbook/assets/image (180).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (180).png -------------------------------------------------------------------------------- /.gitbook/assets/image (181).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (181).png -------------------------------------------------------------------------------- /.gitbook/assets/image (182).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (182).png -------------------------------------------------------------------------------- /.gitbook/assets/image (183).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (183).png -------------------------------------------------------------------------------- /.gitbook/assets/image (184).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (184).png -------------------------------------------------------------------------------- /.gitbook/assets/image (185).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (185).png -------------------------------------------------------------------------------- /.gitbook/assets/image (186).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (186).png -------------------------------------------------------------------------------- /.gitbook/assets/image (187).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (187).png -------------------------------------------------------------------------------- /.gitbook/assets/image (188).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (188).png -------------------------------------------------------------------------------- /.gitbook/assets/image (189).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (189).png -------------------------------------------------------------------------------- /.gitbook/assets/image (190).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (190).png -------------------------------------------------------------------------------- /.gitbook/assets/image (191).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (191).png -------------------------------------------------------------------------------- /.gitbook/assets/image (192).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (192).png -------------------------------------------------------------------------------- /.gitbook/assets/image (193).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/image (193).png -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/README.md: -------------------------------------------------------------------------------- 1 | # 街机游戏 2 | 3 | 街机学习环境\( ALE \)由50多个Atari游戏组成,是直接从原始像素学习控制策略的深度强化学习算法的主要测试平台。本节回顾了深度学习在ALE游戏的主要进展。 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/jing-su-you-xi/README.md: -------------------------------------------------------------------------------- 1 | # 竞速游戏 2 | 3 | 基于视觉的汽车驾驶通常有两种模式:\( 1 \)学习将图像直接映射到动作的端到端系统\(行为反射\),以及\( 2 \)解析传感器数据以做出明智决策的系统\(中介感知\)。 4 | 5 | -------------------------------------------------------------------------------- /.gitbook/assets/text-based-games.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-reinforcement-learning-notes/HEAD/.gitbook/assets/text-based-games.png -------------------------------------------------------------------------------- /fang-fa/wen-zi-mao-xian-you-xi/golovin.md: -------------------------------------------------------------------------------- 1 | # Golovin 2 | 3 | > [Text-based adventures of the golovin ai agent](https://arxiv.org/abs/1705.05637) 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/retrace-l.md: -------------------------------------------------------------------------------- 1 | # Retrace\(λ\) 2 | 3 | > [Safe and Efficient Off-Policy Reinforcement Learning](https://arxiv.org/abs/1606.02647) 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/jing-su-you-xi/td3.md: -------------------------------------------------------------------------------- 1 | # TD3 2 | 3 | > [Addressing Function Approximation Error in Actor-Critic Methods](https://arxiv.org/abs/1802.09477) 4 | 5 | -------------------------------------------------------------------------------- /fu-lu/model-based-rl/i2a.md: -------------------------------------------------------------------------------- 1 | # I2A 2 | 3 | > [Imagination-Augmented Agents for Deep Reinforcement Learning](https://arxiv.org/abs/1707.06203) 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fu-lu/model-based-rl/mbmf.md: -------------------------------------------------------------------------------- 1 | # MBMF 2 | 3 | > [ Model-Based Deep Reinforcement Learning with Model-Free Fine-Tuning](https://sites.google.com/view/mbmf) 4 | 5 | -------------------------------------------------------------------------------- /fu-lu/policy-gradient/ppo-penalty.md: -------------------------------------------------------------------------------- 1 | # PPO-Penalty 2 | 3 | > [Emergence of Locomotion Behaviours in Rich Environments](https://arxiv.org/abs/1707.02286) 4 | 5 | -------------------------------------------------------------------------------- /fu-lu/model-based-rl/mbve.md: -------------------------------------------------------------------------------- 1 | # MBVE 2 | 3 | > [Model-Based Value Estimation for Efficient Model-Free Reinforcement Learning](https://arxiv.org/abs/1803.00101) 4 | 5 | -------------------------------------------------------------------------------- /fu-lu/distributional-rl/qr-dqn.md: -------------------------------------------------------------------------------- 1 | # QR-DQN 2 | 3 | > [Distributional Reinforcement Learning with Quantile Regression](https://arxiv.org/abs/1710.10044) 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/wen-zi-mao-xian-you-xi/ae-dqn.md: -------------------------------------------------------------------------------- 1 | # AE-DQN 2 | 3 | > [Learn What Not to Learn: Action Elimination with Deep Reinforcement Learning](https://arxiv.org/abs/1809.02121) 4 | 5 | -------------------------------------------------------------------------------- /fu-lu/imitation-learning-and-inverse-reinforcement-learning/gail.md: -------------------------------------------------------------------------------- 1 | # GAIL 2 | 3 | > [Generative Adversarial Imitation Learning](https://arxiv.org/abs/1606.03476) 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/jing-su-you-xi/for-the-win.md: -------------------------------------------------------------------------------- 1 | # For The Win 2 | 3 | 4 | 5 | [Capture the Flag: the emergence of complex cooperative agents](https://deepmind.com/blog/capture-the-flag/) 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/di-yi-ren-cheng-she-ji-you-xi/for-the-win.md: -------------------------------------------------------------------------------- 1 | # For The Win 2 | 3 | [Capture the Flag: the emergence of complex cooperative agents](https://deepmind.com/blog/capture-the-flag/) 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/tuan-dui-ti-yu-you-xi/object-centric-prediction.md: -------------------------------------------------------------------------------- 1 | # Object-centric prediction 2 | 3 | > [Learning visual predictive models of physics for playing billiards](https://arxiv.org/abs/1511.07404) 4 | 5 | -------------------------------------------------------------------------------- /fu-lu/policy-gradient/advantage-estimation.md: -------------------------------------------------------------------------------- 1 | # Generalized Advantage Estimation 2 | 3 | > [HIGH-DIMENSIONAL CONTINUOUS CONTROL USING GENERALIZED ADVANTAGE ESTIMATION](https://arxiv.org/pdf/1506.02438.pdf) 4 | 5 | -------------------------------------------------------------------------------- /fu-lu/policy-gradient/soft-actor-critic.md: -------------------------------------------------------------------------------- 1 | # Soft Actor-Critic 2 | 3 | > [Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor](https://arxiv.org/abs/1801.01290) 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/ji-suan-zi-yuan.md: -------------------------------------------------------------------------------- 1 | # 计算资源 2 | 3 | 随着更先进的计算模型和开放世界中更多的代理,计算速度成为一个问题。旨在通过压缩网络或在训练后修剪网络,使网络在计算上更有效的方法可能是有用的。当然,在一般或神经网络中处理能力的改进也是特别重要的。目前,实时训练网络去适应游戏的变化或适应玩家的游戏风格是不可行的,这在设计过程中可能会很有用。 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/wen-zi-mao-xian-you-xi/affordance-based-action-selection.md: -------------------------------------------------------------------------------- 1 | # Affordance Based Action Selection 2 | 3 | > [What can you do with a rock? affordance extraction via word embeddings](https://arxiv.org/abs/1703.03429) 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/alphastar.md: -------------------------------------------------------------------------------- 1 | # AlphaStar 2 | 3 | > [AlphaStar: Mastering the Real-Time Strategy Game StarCraft II](https://deepmind.com/blog/alphastar-mastering-real-time-strategy-game-starcraft-ii/) 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/duo-zhi-neng-ti.md: -------------------------------------------------------------------------------- 1 | # 多智能体 2 | 3 | 当前的深度强化学习方法主要关注于训练单个代理。在多个代理必须合作的情况下,存在一些例外,但它仍然是一个开放的挑战,它们如何在不同情况下扩展到更多的代理。在许多当前的视频游戏中,例如StarCraft或者GTA V,许多代理与彼此和玩家互动。 要将视频游戏中的多代理学习扩展到与当前单个代理程序相同的性能水平,可能需要能够同时有效地跟踪多个代理的新方法。 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/chu-li-ju-da-de-zhuang-tai-kong-jian.md: -------------------------------------------------------------------------------- 1 | # 处理巨大的状态空间 2 | 3 | 虽然平均分支因子在国际象棋中徘徊在30左右而在Go上徘徊在300左右,但像星际争霸这样的游戏有一个更大的数量级的分支因子。最近在进化规划方面取得的进展已经允许在具有更大分支因子的游戏中进行实时和长期规划,我们如何将Deep RL扩展到如此复杂的水平是一个重要的开放挑战。在这些游戏中深入学习以增强搜索算法的学习启发也是一个很有前景的方向。 4 | 5 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/openai-gym-and-universe.md: -------------------------------------------------------------------------------- 1 | # OpenAI Gym & Universe 2 | 3 | > [http://gym.openai.com/](http://gym.openai.com/) 4 | 5 | OpenAI Gym是一个大型平台,用于将强化学习算法与单个接口进行比较,以适应不同环境,包括ALE,GVG-AI,MuJoCo,Malmo,ViZDoom等。 OpenAI Universe是OpenAI Gym的延伸,目前与超过一千个Flash游戏接口,旨在在未来添加许多现代视频游戏 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/kuai-su-shi-ying.md: -------------------------------------------------------------------------------- 1 | # 终身适应 2 | 3 | 虽然NPC可以训练玩各种游戏,目前的机器学习技术仍然很难,当涉及到代理时,应该能够在他们的一生中适应,即在游戏正在进行时。例如,当发现玩家总是在FPS地图中的相同位置遭到伏击时,人类玩家可以快速改变其行为。然而,大多数当前的DL技术需要昂贵的再训练以适应这些情况以及他们在训练期间未遇到的其他不可预见的情况。由单个人的实时行为提供的数据量远不及通常的深度学习方法所需的数据量。这一挑战与更广泛的问题有关,即few-shot学习、transfer学习和general video game playing。 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/chuang-zao-xin-de-you-xi.md: -------------------------------------------------------------------------------- 1 | # 创造新的游戏 2 | 3 | DL可能提供一种创建完全新游戏的方法。今天的大多数游戏设计都起源于没有先进的人工智能方法或者硬件被限制使用它们的时代,这意味着游戏被设计成不需要人工智能。设计新的around AI的游戏可以帮助打破这些限制。虽然进化算法和神经进化允许创造全新类型的游戏,但基于梯度下降的DL尚未在此背景下进行探索。Neuroevolution是游戏中的核心机制,如NERO,Galactic Arms Race,Petalz和EvoCommander 。基于梯度的优化的一个挑战是结构通常限于具有数学平滑性(即可微分性),使其具有挑战性以创造有趣和意外的输出。 4 | 5 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/README.md: -------------------------------------------------------------------------------- 1 | # 研究平台 2 | 3 | 这一部分描述了流行的游戏类型和研究平台;一些例子如图所示。对于每种类型,我们简要概述了该类型的特点,并描述了玩游戏的算法所面临的挑战。本文讨论的视频游戏在很大程度上取代了早期的简单控制问题,这些问题长期以来一直是主要的强化学习基准,但对于现代方法来说通常过于简单。在这种经典的控制问题中,输入是一个简单的特征向量,描述位置、速度和轨迹等。这类问题的流行平台有rllab,其中包括经典问题,如极点平衡和山地汽车问题,以及MuJoCo \(多关节动态接触\),一个用于复杂控制任务的物理引擎,如仿人行走任务。 4 | 5 | ![](../../.gitbook/assets/image-41.png) 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/ment-te-zu-ma-de-fu-chou/README.md: -------------------------------------------------------------------------------- 1 | # 蒙特祖玛的复仇 2 | 3 | 具有稀疏反馈的环境仍然是增强学习的一个开放挑战。游戏 Montezuma's Revenge 便是一个很好的例子,并因此得到了更详细的研究,并被用于基于内在动机和好奇心的学习方法。运用内在动机的主要思想是在一定的自我奖励机制的基础上改进对环境的探索,最终帮助施动者获得外在的奖励。DQN在这款游戏中没有获得任何奖励\(得分为0\),而Gorila的平均分仅为4.2分。一个人类专家可以获得4367分,很明显,目前提出的方法无法处理回报如此稀少的环境。一些有有希望方法旨在克服这些挑战。 4 | 5 | ![](../../.gitbook/assets/image%20%2857%29.png) 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/xi-shu-3001-yan-chi-3001-qi-pian-xing-de-hui-bao.md: -------------------------------------------------------------------------------- 1 | # 稀疏、延迟、欺骗性的回报 2 | 3 | Montezuma's Revenge等以稀疏奖励为特征的游戏仍然是大多数Deep RL方法的挑战。虽然结合DQN内在动机或专家演示,的最新进展可以提供帮助,但是具有稀疏奖励的游戏仍然是当前深度RL方法的挑战。内在动机的强化学习,以及分层强化学习方面有着悠久的研究历史,这在这里可能是有用的。基于Minecraft的Project Malmo环境提供了一个很好的场所,可以创建具有非常稀疏奖励的任务,代理需要设置他们的目标。无导数和无梯度方法,如进化策略和遗传算法,通过局部采样来探索参数空间,在这些游戏中有着广阔的应用前景,特别是结合novelty search。 4 | 5 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/xiang-ren-lei-yi-yang-wan-you-xi.md: -------------------------------------------------------------------------------- 1 | # 像人类一样玩游戏 2 | 3 | 终身学习只是当前NPC与人类玩家相比缺乏的差异之一。 大多数方法涉及创建尽可能地发挥特定游戏的代理,通常仅考虑所达到的分数。然而,如果人们被期望在视频游戏中与基于人工智能的机器人对抗或合作,其他因素也会发挥作用。不要试图创造一个游戏完美的机器人,在这种情况下,更重要的是这个机器人是可信的,并且玩起来有趣,我们期望人类玩家也有类似的病态。 4 | 5 | 类似人类的游戏是一个活跃的研究领域,两个不同的竞赛集中在类似人类的行为上,即2k BotPrize ,以及Mario AI Championship的Turing Test track。这些竞争中的大多数条目都基于各种非神经网络技术,而有些则使用深度神经网络的进化训练来生成类似人类的行为。 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/jiao-hu-shi-you-xi-kai-fa.md: -------------------------------------------------------------------------------- 1 | # 游戏开发的交互式工具 2 | 3 | 与之前的挑战相关,目前缺乏设计师轻松训练NPC行为的工具。虽然目前存在许多用于训练深层网络的开源工具,但大多数都需要大量的专业知识。一个工具可以让设计者容易地指定想要的NPC行为\(和不想要的行为\),同时保证对最终训练结果有一定程度的控制,这将大大加快游戏行业对这些新方法的使用。 4 | 5 | 从人类偏好中学习是这一领域的一个有希望的方向,在神经进化的背景下已经广泛研究了这种方法,允许非专家用户训练超级马里奥的行为。最近,类似的基于偏好的方法被应用于深度RL方法,允许代理人基于人类偏好学习和深度RL的结合来学习Atari游戏。最近,游戏公司King Published使用模仿学习来学习Candy Crush等级的游戏测试策略,为新的设计工具展示了一个有希望的方向。 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/xue-xi-you-xi-de-mo-xing.md: -------------------------------------------------------------------------------- 1 | # 学习游戏的模型 2 | 3 | 在游戏深度学习方面的大量工作采用了无模型的端到端学习方法,其中训练神经网络以产生以状态观察为输入的动作。然而,众所周知,良好且快速的模型使游戏更容易,因为它可以使用基于树搜索演化的规划方法,因此,这个领域的一个重要的开放挑战是开发可以学习游戏正向模型的方法,从而可以推断出它的动态。希望是学习游戏规则的方法可以更好地概括为不同的游戏变化和更强大的学习。该领域的有前景的工作包括Guzdial等人的方法学习超级马里奥兄弟的简单游戏引擎。Kansky etal\]引入了Schema Networks的思想,该思想遵循面向对象的方法,并且经过训练,可以根据当前的属性和行为来预测味蕾对象属性和奖励。因此,训练有素的模式网络提供了一个可用于规划的概率模型,并且能够执行零射击转移到训练中使用的突破类似的变化。 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: '@gitbook' 3 | --- 4 | 5 | # 介绍 6 | 7 | ## [深度学习玩电子游戏](https://hujian.gitbook.io/deep-reinforcement-learning/) 8 | 9 | > [Deep Learning for Video Game Playing](https://arxiv.org/abs/1708.07902) 10 | 11 | 在本文中,我们回顾了最近深度学习的进展,在此背景下,它们被应用于玩不同类型的视频游戏,如第一人称射击游戏、街机游戏和实时策略游戏。我们分析了不同游戏类型对深度学习系统提出的独特要求,并在将这些机器学习方法应用于视频游戏的背景下,强调了重要的开放性挑战,例如普通游戏、处理超大的决策空间和稀疏奖励。 12 | 13 | ![](.gitbook/assets/all-1.png) 14 | 15 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/ke-diao-jie-de-xing-neng-deng-ji.md: -------------------------------------------------------------------------------- 1 | # 可调节的性能等级 2 | 3 | 目前几乎所有关于DL玩游戏的研究都旨在创造能够尽可能地玩游戏的代理,甚至可能“殴打”它。然而,出于游戏测试,创建教程和演示游戏的目的,在具有类似人类游戏玩法的重要场所中,能够创建具有特定技能水平的创建者可能很重要。如果你的代理比任何人类玩家都更好,那么它就不是人类在游戏中所做的好模型。最基本的是,这可能需要训练一个玩得非常好的代理,然后找到一种降低代理性能的方法。然而,更有用的是能够以更细粒度的方式调整性能水平,以便例如单独控制反应速度或代理的长期规划能力。更有用的是能够禁止受过训练的代理人的某些游戏方式能力,以便测试例如某个特定级别是否可以在没有某些行动或策略的情况下解决。 4 | 5 | 实现这一目标的一条途径是procedural personas的概念,其中代理的偏好被编码为效用权重的一组。然而,这一概念还没有用深度学习来实现,在这种背景下如何实现规划深度控制还不清楚。 6 | 7 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/distributed-deep-q-learning.md: -------------------------------------------------------------------------------- 1 | # Gorila 2 | 3 | > [Massively Parallel Methods for Deep Reinforcement Learning](https://arxiv.org/pdf/1507.04296.pdf) 4 | 5 | 我们提出了第一个用于深层强化学习的大规模分布式架构。 该体系结构使用了四个主要组件:产生新行为的并行的actor; 通过存储经验训练的并行leaner; 分布式神经网络来表示价值函数或行为策略; 一个分布式的经验池。 使用我们的架构来实施Deep Q-Network算法, 并应用于Arcade Learning Environment的49款Atari2600游戏,使用相同的超参数,在49场比赛中有41场超过了非分布式DQN,并且还减少了在大多数比赛中按照一定数量的顺序实现这些结果所需的时间。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image-108.png) 10 | 11 | ## 伪代码 12 | 13 | ![](../../.gitbook/assets/image-94.png) 14 | 15 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/kai-fang-shi-jie-you-xi.md: -------------------------------------------------------------------------------- 1 | # 开放世界游戏 2 | 3 | ## Malmo 4 | 5 | > [ The Malmo Platform for Artificial Intelligence Experimentation](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/johnson-malmo-platform-camera-ready.pdf) 6 | 7 | 一个基于流行电脑游戏Minecraft的人工智能实验平台,旨在支持人工智能的基础研究。 随着AI研究界推动人工智能(AGI),需要实验平台来支持灵活的代理的开发,这些代理可以学习在复杂环境中解决各种任务。 Minecraft是这样一个平台的理想基础,因为它将代理暴露给复杂的3D世界,再加上无限多样化的游戏玩法。 Project Malmo在Minecraft之上提供了一个复杂的抽象层,支持各种实验场景,从导航和生存到协作和解决问题的任务。 在本演示中,我们介绍了Malmo平台及其功能。 该平台作为IJCAI的开源软件公开发布,以支持AI研究中的开放性和协作。 8 | 9 | ![](../../.gitbook/assets/minecraft.png) 10 | 11 | -------------------------------------------------------------------------------- /qian-yan/xiang-guan-shu-ji.md: -------------------------------------------------------------------------------- 1 | # 推荐资料 2 | 3 | ## 强化学习 4 | 5 | ![](../.gitbook/assets/image%20%28172%29.png) 6 | 7 | [Richard S. Sutton and Andrew G. Barto. Reinforcement Learning: An Introduction](http://incompleteideas.net/book/the-book-2nd.html) 8 | 9 | ## 深度学习 10 | 11 | ![](../.gitbook/assets/image%20%28168%29.png) 12 | 13 | [Ian Goodfellow and Yoshua Bengio and Aaron Courville. Deep Learning](http://www.deeplearningbook.org/) 14 | 15 | ## 深度强化学习 16 | 17 | ![](../.gitbook/assets/image%20%2868%29.png) 18 | 19 | [OpenAI Spinning Up](http://spinningup.openai.com/en/latest/index.html) 20 | 21 | 22 | 23 | 24 | 25 | \_\_ 26 | 27 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/deep-recurrent-q-learning.md: -------------------------------------------------------------------------------- 1 | # DRQN 2 | 3 | > [Deep Recurrent Q-Learning for Partially Observable MDPs](https://arxiv.org/pdf/1507.06527.pdf) 4 | 5 | 深度强化学习为复杂任务提供了熟练的控制器。然而,这些控制器的内存有限,依赖于能够在每个决策点感知完整的游戏屏幕。为了解决这些缺点,本文研究了在深度Q-Network \(DQN\)中使用循环LSTM替换卷积后的第一个全连接层,从而增加递归性的效果。得到的深度递归Q-Network \(DRQN\)虽然在每个时间步上只能看到一个帧,但它成功地通过时间整合了信息,并复制了DQN在标准雅达利\(Atari\)游戏和部分观察到的具有闪烁游戏屏幕的等价物上的表现。此外,当使用部分观察进行训练并使用更完整的增量观察进行评估时,DRQN的性能作为可观察性的函数进行衡量。相反,当使用完整的观察进行训练并使用部分观察进行评估时,DRQN的性能下降小于DQN。因此,鉴于历史的长度相同,出现重复是一个可行的选择在DQN叠加帧的历史出现重复的输入层,并没有系统的优势学习玩游戏时,周期性网络可以更好的适应在评估时如果观测的质量变化。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image-37.png) 10 | 11 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/gong-ye-jie-ying-yong.md: -------------------------------------------------------------------------------- 1 | # 工业界应用 2 | 3 | 由于Facebook,Google / Alphabet,微软和亚马逊等各种不同公司对其发展投入巨大的兴趣,DL的许多最新进展已经加速。 然而,游戏产业并没有将这些进步与这种进步相提并论。这有时让游戏行业以外的评论家感到惊讶,因为游戏被视为大量使用人工智能技术。然而,游戏行业中最常用的AI类型更多地侧重于手工创作表达非玩家角色(NPC)行为而不是机器学习。在这个行业中采用神经网络(和类似方法)的一个经常被引用的原因是这些方法本质上难以控制,这可能导致不必要的NPC行为(伊根NPC可能决定杀死一个相关的关键角色 到了故事)。此外,训练深度网络模型需要一定程度的专业知识,该领域的专家库仍然有限。这对于应对这些挑战非常重要,以鼓励游戏行业广泛采用。 4 | 5 | 此外,尽管大多数DL方法都专注于玩游戏,但这个目标对于游戏行业来说可能并不是最重要的。这里是玩家在玩重要组件时体验到的乐趣或参与度。游戏制作过程中玩游戏的DL的一个用途是用于游戏测试,其中人工代理测试该等级是可解决的或难度是合适的。DL可能会在游戏行业中看到它最重要的用途,不是为了玩游戏,而是为了根据对现有内容的训练,或者对于玩家体验建模来生成游戏内容。 6 | 7 | 在游戏行业中,包括EA,Ubisoft 和Unity在内的几家大型开发和技术公司最近开始在内部研究部门,主要集中在深度学习上。 这些技术还将被这些公司或其客户的发展方式所接受,还有待观察。 8 | 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # Compiled binary addons (http://nodejs.org/api/addons.html) 20 | build/Release 21 | 22 | # Dependency directory 23 | # Deployed apps should consider commenting this line out: 24 | # see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git 25 | node_modules 26 | 27 | _book/ 28 | book.pdf 29 | book.epub 30 | book.mobi 31 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/jing-su-you-xi.md: -------------------------------------------------------------------------------- 1 | # 竞速游戏 2 | 3 | 玩家的任务是控制某种车辆或角色,以便在尽可能短的时间内达到一个目标,或者在给定的时间内沿着一条赛道尽可能远地行进。通常,游戏从玩家控制的车辆后面采用第一人称视角或有利位置。绝大多数游戏都采用连续输入信号作为转向输入,类似于方向盘。 4 | 5 | ## TORCS 6 | 7 | > [TORCS: The open racing car simulator](http://pdfs.semanticscholar.org/b9c4/d931665ec87c16fcd44cae8fdaec1215e81e.pdf) 8 | 9 | 开放赛车模拟器是一个现代化的,模块化的,高便携的多玩家,多代理的赛车模拟器。它具有高度的模块化和可移植性,是人工智能研究的理想对象。事实上,已经出现了一些使用TORCS引擎的研究性比赛和论文。本文的目的是将TORCS的结构介绍给一般的人工智能和机器学习社区,并解释如何在平台上测试agent。 10 | 11 | TORCS可以用于开发针对各种问题的人工智能\(AI\)代理。在汽车层面,可以开发新的仿真模块,包括各种汽车零部件的智能控制系统。在驱动程序级别,低级API提供对模拟状态的详细\(但只是部分\)访问。这可以用于开发任何东西,从中级控制系统到复杂的驾驶代理,找到最佳的赛车路线,在意外情况下成功地作出反应,并作出良好的战术比赛决策。最后,对于喜欢挑战和对视觉处理感兴趣的研究人员来说,3d投影接口也是可用的 12 | 13 | ![](../../.gitbook/assets/torcs.png) 14 | 15 | -------------------------------------------------------------------------------- /fang-fa/wen-zi-mao-xian-you-xi/drrn.md: -------------------------------------------------------------------------------- 1 | # DRRN 2 | 3 | > [Deep reinforcement learning with a natural language action space](https://arxiv.org/abs/1511.04636) 4 | 5 | 本文介绍了一种新的强化学习体系结构,该体系结构采用深度神经网络,旨在处理基于文本的游戏中以自然语言为特征的状态和动作空间。这种体系结构被称为深度强化相关网络,它用独立的嵌入向量表示动作和状态空间,嵌入向量与交互功能相结合,在强化学习中接近Q函数。我们评估了DRRNon两个流行的文本游戏,展示了相对于其他深度问答学习架构的实验性能。解释动作描述的实验表明,该模型提取的是意义,而不是简单地记忆文本串。 6 | 7 | ## 方法 8 | 9 | 我们认为序贯决策提出了文本理解的问题。在每个步骤中,代理将接收描述状态的一串文本\(即“状态文本”\)和描述所有潜在关系的几串文本\(即“动作文本”\)。代理试图从状态和行为两个方面理解文本,衡量它们与当前上下文的相关性,以实现长期回报最大化,然后选择最佳行为。 10 | 11 | ![](../../.gitbook/assets/image%20%2883%29.png) 12 | 13 | 计算出每个动作的相关性后,可以得到策略: 14 | 15 | ![](../../.gitbook/assets/image%20%2885%29.png) 16 | 17 | 算法整体流程 18 | 19 | ![](../../.gitbook/assets/image%20%28125%29.png) 20 | 21 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/rainbow.md: -------------------------------------------------------------------------------- 1 | # Rainbow 2 | 3 | > [Rainbow: Combining Improvements in Deep Reinforcement Learning](https://arxiv.org/pdf/1710.02298.pdf) 4 | 5 | 深度强化学习社区已经对DQN算法进行了几项独立的改进。 但是,目前还不清楚哪些扩展是互补的,可以有效地结合起来。 本文考察了DQN算法的扩展和经验研究的组合。 我们的实验表明,在数据效率和最终性能方面,这种组合在Atari 2600基准测试中提供了最先进的性能。 我们还提供了详细消融研究的结果,该研究显示了每个组成部分对整体表现的贡献。 6 | 7 | ## 方法 8 | 9 | Rainbow即集成各种DQN算法的变体 10 | 11 | ### The Integrated Agent 12 | 13 | 首先,我们用multi-step分布DQN替换1-step分布DQN 14 | 15 | 然后融入Double Q-Learning的思想,选择动作和评估用不同的网络 16 | 17 | 然后用KL散度作为优先采样的权重 18 | 19 | 接下来用Dueling作为网络架构 20 | 21 | 最后加入噪声就得到了整合的代理 22 | 23 | ## 实验效果 24 | 25 | ![](../../.gitbook/assets/image-28.png) 26 | 27 | ![](../../.gitbook/assets/image-35.png) 28 | 29 | 可以看出priority和multi-step的影响最大 30 | 31 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/wen-zi-mao-xian-you-xi.md: -------------------------------------------------------------------------------- 1 | # 文字冒险游戏 2 | 3 | 经典的文本冒险游戏是一种交互式虚构的形式,玩家可以通过文本而不是图形获得描述和指令,并通过基于文本的命令与故事情节进行交互。这些命令通常用于查询系统的状态,与故事中的人物互动,收集和使用物品,或者在游戏世界中导航 4 | 5 | ## TextWorld 6 | 7 | > [TextWorld: A Learning Environment for Text-based Games](https://arxiv.org/pdf/1806.11532v1.pdf) 8 | 9 | 我们介绍了TextWorld,一个沙箱学习环境,用于训练和评估基于文本的游戏的RL代理。TextWorld是一个Python库,用于处理文本游戏的交互式播放,以及状态跟踪和奖励分配等后端函数。它提供了一系列我们分析过的游戏的特点和挑战。更重要的是,它允许用户手工制作或自动生成新游戏。它的生成机制提供了对构建游戏的难度、范围和语言的精确控制,并可用于放松她的挑战 10 | 11 | ![](../../.gitbook/assets/textworld.png) 12 | 13 | 这些游戏通常实现三种基于文本的界面之一:基于解析器的、基于选择的和基于超链接的。基于选择和基于超链接的界面在给定的状态下以列表、上下文之外或状态描述中的链接的形式向玩家提供可能的动作。另一方面,基于解析器的数据接口对任何输入都是开放的,玩家必须学习游戏理解的单词。这对于计算机来说很有趣,因为它更像自然语言,在自然语言中,你必须根据你对语言和给定状态的理解,知道应该存在什么动作。 14 | 15 | ![](../../.gitbook/assets/text-based-games.png) 16 | 17 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-de-tiao-zhan/you-xi-tong-yong-xing.md: -------------------------------------------------------------------------------- 1 | # 游戏通用性 2 | 3 | 能够解决一个问题并不能让你变得聪明;没有人会说Deep Blue或AlphaGo拥有一般智力,因为他们甚至不能玩跳棋\(没有再训练\),更不用说煮咖啡或系鞋带了。要学习一般的智能行为,你不仅要训练一项任务,还要训练许多不同的任务。视频游戏被认为是学习一般情报的理想环境,部分原因是因为有很多视频游戏共享共同的界面和奖励惯例。然而,视频游戏中的深度学习的绝大多数工作集中在学习玩单一游戏,甚至在单一游戏中执行单一任务。 4 | 5 | 虽然深度基于RL的方法可以学习玩各种不同的Atari游戏,但是开发可以学习玩任何类型游戏的算法(例如Atari游戏,DOOM和星际争霸)仍然是一项重大挑战。对于特定类型的游戏,仍然需要花费大量精力来设计网络架构和奖励功能。 6 | 7 | 玩多个游戏的问题的进展包括Progressive neural networks,这允许学习新游戏(不会忘记以前学过的游戏)并通过横向连接利用先前学习的特征来更快地解决。但是,它们需要为每项任务分别设计网络。Elastic weight consolidation可以顺序地捕捉多个Atari游戏,并通过保护权重不被修改来避免灾难性遗忘,这对以前学过的游戏很重要。在PathNet中,进化算法用于选择神经网络的哪些部分用于学习新任务,展示ALE游戏的一些迁移学习性能。 8 | 9 | 在未来,将这些方法扩展到允许玩多个游戏是很重要的,即使这些游戏非常不同 - 大多数当前的方法都集中在ALE框架中的不同(已知)游戏上。这种研究的一个合适途径是Learning Track of the GVGAI竞赛。与ALE不同,GVGAI有一套潜在的无限游戏。 GVGAI最近的工作表明,无模型深度RL不仅适用于个人游戏,甚至适用于个人层面; 这在训练期间不断产生新的水平被抵消了。 10 | 11 | 多游戏问题的重大进展可能来自外部深度学习。 特别是,最近的Tangled Graph表示,一种遗传编程形式,在这项任务中显示出了希望。最近的IMPALA算法试图通过大规模缩放来解决多游戏学习问题,并取得了一些有希望的结果。 12 | 13 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/bootstrapped-deep-q-network.md: -------------------------------------------------------------------------------- 1 | # Bootstrapped DQN 2 | 3 | > [Deep Exploration via Bootstrapped DQN](https://arxiv.org/pdf/1602.04621.pdf) 4 | 5 | 有效的探索仍然是强化学习(RL)的主要挑战。 常见的探索策略,例如 $$\epsilon$$ -greedy,不进行时间延长\(或深度\)的探索; 这可能导致数据需求呈指数级增长。 然而,大多数算法具有高效率的RL算法在复杂的环境中不易计算。 随机值函数提供了一种有前景的有效探索方法,但现有算法与非线性参数化值函数不相容。 作为解决此类问题的第一步,我们开发了bootstrapped DQN。 我们证明了bootstrapped DQN可以将深度探索与深度神经网络相结合,以比任何探索策略更快地学习。 在街机学习环境中,bootstrapped DQN大大提高了大多数游戏的学习速度和累积性能。 6 | 7 | ## 方法 8 | 9 | ### Bootstrapped Network 10 | 11 | ![](../../.gitbook/assets/image-88.png) 12 | 13 | Bootstrapped DQN用bootstrap修改DQN以近似Q值的分布。 在每个周期开始时,Bootstrapped DQN从其近似后验中采样单个Q值函数。 然后,代理遵循在整个事件期间对该样本最优的策略。这是Thompson sampling启发式算法对RL的自然适应,允许时间上的扩展\(或深度\)探索。 14 | 15 | 如图1\(a\)所示,我们通过并行构建K个Q值函数的估计有效地实现了该算法。重要的是,这些值函数中的每一个函数头 $$Q_k(s,a;θ)$$ 都有各自的目标网络 $$Q_k(s,a;θ^-)$$ 。这意味着每个 $$Q_1,..,Q_K$$ 通过TD估计提供了值不确定性的扩展\(和一致\)估计。为了跟踪哪些数据属于哪个引导头,我们存储了标志 $$w_1,..,w_K∈(0,1)$$ 表示哪些头与哪些数据相关。我们通过在随机选择 $$k∈(1,..,K)$$ 并且在该周期的持续时间内跟随 $$Q_k$$ 来近似一个bootstrap样本。 16 | 17 | ## 伪代码 18 | 19 | ![](../../.gitbook/assets/image-86.png) 20 | 21 | -------------------------------------------------------------------------------- /fang-fa/wen-zi-mao-xian-you-xi/lstm-dqn.md: -------------------------------------------------------------------------------- 1 | # LSTM-DQN 2 | 3 | > [Language understanding for textbased games using deep reinforcement learning](https://arxiv.org/abs/1506.08941) 4 | 5 | 在本文中,我们考虑学习基于文本的游戏的控制策略的任务。在这些游戏中,虚拟世界中的所有互动都是通过文本进行的,不理解的状态是不会被观察到的。不断产生的语言障碍使得这样的环境对自动游戏玩家来说具有挑战性。我们采用深度强化学习框架,通过游戏奖励作为反馈,共同学习状态表征和行动策略。这种框架使我们能够将文本描述映射到矢量表示中,从而捕捉游戏状态的这些特征。我们在两个游戏世界中评估我们的方法,用单词袋和二元袋作为状态代表与基线进行比较。我们的算法在两个世界上都优于基线,证明了学习表达的重要性。 6 | 7 | ![](../../.gitbook/assets/image%20%28164%29.png) 8 | 9 | ## 方法 10 | 11 | 在这一部分,我们描述了我们的模型\(DQN\),并描述了它在学习随机文本描述的博弈的好的Q值方法中的应用。我们把模型分成两部分。第一个模块是表示生成器,用于将当前状态的文本描述转换为向量。这个向量然后被输入到第二个模块,它是一个计分器。图2显示了我们模型的整体架构。我们使用游戏中的奖励反馈,共同学习表示生成器和动作评分器的参数 12 | 13 | ![](../../.gitbook/assets/image%20%28180%29.png) 14 | 15 | 玩MUD游戏的另一个复杂性是玩家采取的动作是多词自然语言命令,例如eat apple 和 go east。由于计算上的限制,在这项工作中,我们将自己限制在考虑由一个动作\(例如eat\)和一个参数对象\(例如苹果\)组成的命令。对于我们世界中的大多数命令,这种假设是有效的,除了一类需要两个参数的命令(例如,movered-root right,move blue-root up)。我们考虑游戏中可用的所有可能的操作和对象,并使用相同的网络预测每个状态(图2)。我们认为整个命令\(a,o\)的Q值是动作a和对象o的Q值的平均值。 16 | 17 | 算法描述如下 18 | 19 | ![](../../.gitbook/assets/image%20%28184%29.png) 20 | 21 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/prioritized-experience-replay.md: -------------------------------------------------------------------------------- 1 | # Prioritized Experience Replay 2 | 3 | > [Prioritized Experience Replay](https://arxiv.org/pdf/1511.05952.pdf) 4 | 5 | 经验回放让在线强化学习代理能够记住并重用过去的经验。 在先前的工作中,经验转移是从回放存储器统一采样的。 然而,这种方法只是以与它们最初经历的频率相同的频率回放样本,而不管其重要性如何。 在本文中,我们开发了一个优先考虑体验的框架,以便更频繁地重放重要的转换,从而更有效地学习。 我们在Deep Q-Networks(DQN)中使用优先级经验重放,这是一种在多种Atari游戏中实现人类性能的强化学习算法。 具有优先经验回放的DQN在49场比赛中的41场比赛中实现了最好效果,超过了DQN和均匀回放。 6 | 7 | ## 方法 8 | 9 | ### 优先回放 10 | 11 | 优先回放的核心组成部分是衡量样本重要性的指标。 一个理想化的标准是RL代理可以从当前样本(预期的学习进度)中学习到的东西。 虽然这个指标不能直接获得,但合理的等价物是样本的TD误差 $$δ$$ 的大小。 12 | 13 | 但是这个算法有一些缺点:首先,为了避免在整个重放存储器上进行费时的扫描,TD错误仅针对重放的样本进行更新。一种后果是,第一次访问时TD误差低的样本可能不会被长时间重放。此外,它对噪声尖峰很敏感\(例如,当奖励是随机的\),这可能会因自举而加剧。 14 | 15 | 为了克服这些问题,我们引入了一种随机抽样方法,在纯贪婪优先和均匀随机抽样之间进行插值。我们确保被采样的概率在转变的优先级上是单调的,同时保证非零概率,即使是最低优先级的转变。具体来说,我们定义了采样的概率: 16 | 17 | $$P(i)=\frac{p_{i}^{\alpha}}{\sum_{k} p_{k}^{\alpha}}$$ 18 | 19 | ### 退火偏差 20 | 21 | 随机更新的期望值的估计依赖于与期望分布相同的更新。优先级重播引入了偏差,因为它以一种不受控制的方式更改了这个分布,因此更改了估计将收敛到的解决方案\(即使策略和状态分布是固定的\)。我们可以通过使用重要采样(IS)权重来纠正这种偏差: 22 | 23 | $$w_{i}=\left(\frac{1}{N} \cdot \frac{1}{P(i)}\right)^{\beta}$$ 24 | 25 | $$\beta$$是退火参数,在实践中,我们将$$\beta$$从其初始值$$\beta_0$$到线性退火到1 26 | 27 | ## 伪代码 28 | 29 | ![](../../.gitbook/assets/image-75.png) 30 | 31 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/tuan-dui-ti-yu-you-xi.md: -------------------------------------------------------------------------------- 1 | # 团队体育游戏 2 | 3 | 流行的体育游戏通常基于基于团队的游戏,如足球、篮球和足球。这些游戏旨在通过逼真的动画和3D图形尽可能逼真。在一年一度的机器人世界杯足球赛\( RoboCup \)中,一些类似足球的环境被广泛用作研究平台,包括物理机器人和2D/3D模拟 4 | 5 | ## Keepaway Soccer 6 | 7 | > [Keepaway Soccer: From Machine Learning Testbed to Benchmark](https://www.cs.utexas.edu/~pstone/Papers/bib2html-links/LNAI2005-keepaway.pdf) 8 | 9 | Keepaway soccer曾被提出作为机器学习的测试平台。尽管许多研究人员已经成功地将其用于机器学习实验,但这样做需要大量的领域专业知识。本文介绍了一组程序、工具和资源,这些程序、工具和资源旨在使该领域在不了解RoboCup或足球服务器的情况下易于用于实验。此外,我们还报告了Keepaway领域的新实验,以及设计成可与未来实验结果直接比较的性能结果。结合起来,新的基础设施和我们在对比实验中对其使用的具体演示,将该领域提升到了一个机器学习基准,适合该领域的研究人员使用。 10 | 11 | ## Half Field Offense 12 | 13 | > [Half Field Offense: An Environment for Multiagent Learning and Ad Hoc Teamwork](https://pdfs.semanticscholar.org/6c74/4d367698c5f1059a3ac312ea91ebd1460d52.pdf) 14 | 15 | 二十多年来,RoboCup 2D仿真领域一直是人工智能,机器学习和多代理系统研究的平台。然而,对于希望快速制作原型并评估不同算法的研究人员而言,完整的RoboCup任务呈现出繁琐的前景,因为可能需要数周才能建立所需的测试环境。复杂性部分归功于几个代理的协调,每个代理都具有多层控制层次,并且必须平衡攻击性和防御性目标。本文介绍了一种新的开源基准测试,它基于足球的半场防守子任务,作为一个易于使用的实验平台。在保留足球固有挑战的同时,HFO环境限制了代理人对决策的关注,提供了与环境和其他代理交互的标准化界面,以及用于评估绩效的标准化工具。由此产生的测试平台可以方便地测试单个和多个学习,特设团队和模仿学习的算法。除了对HFO环境的详细描述外,我们还针对各种HFO任务提供了强化学习代理的基准测试结果。我们还强调了HFO环境为未来研究开辟的其他几个挑战。 16 | 17 | ![](../../.gitbook/assets/hfo.png) 18 | 19 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/noisy-network.md: -------------------------------------------------------------------------------- 1 | # Noisy-Net 2 | 3 | > [Noisy Networks for Exploration](https://arxiv.org/pdf/1706.10295v2.pdf) 4 | 5 | 我们介绍了一种深度强化学习代理NoisyNet,该代理的权重中添加了参数噪声,并表明该代理策略的诱导随机性可以用来帮助有效的探索。噪声的参数通过梯度下降以及剩余的网络权重来学习。NoisyNet易于实现,并且几乎不增加计算开销。我们发现,用NoisyNet代替A3C、DQN和Dueling代理的传统探索试探法\(分别用熵奖励和 $$\epsilon$$ -greedy \),在许多Atari游戏中,会获得更高的分数,在某些情况下,会将代理从低于人类游戏分数提升到超过人类的水平。 6 | 7 | ## 方法 8 | 9 | 噪声网络是一种神经网络,其权值和偏差受到噪声参数函数的扰动。这些参数是用梯度下降法调整的。设 $$y=f_{\theta}(x)$$ 是由带噪声的向量 $$\theta$$ 参数化的神经网络,定义为 $$\theta \stackrel{\mathrm{def}}{=} \mu+\Sigma \odot \varepsilon$$ ,其中 $$\zeta \stackrel{\mathrm{def}}{=}(\mu, \Sigma)$$ 是可学习的参数。 10 | 11 | 设线性函数 $$y=w x+b$$ ,则对应的噪声版本 12 | 13 | $$ 14 | y \stackrel{\mathrm{def}}{=}\left(\mu^{w}+\sigma^{w} \odot \varepsilon^{w}\right) x+\mu^{b}+\sigma^{b} \odot \varepsilon^{b} 15 | $$ 16 | 17 | 现在我们转向噪声网络中线性层噪声分布的显式实例。我们探讨了两种选择:独立高斯噪声,它使用独立的高斯噪声项每权重,以及因子分解高斯噪声,它使用独立噪声每输出,而另一个独立噪声每输入。在我们的算法中,使用因子分解高斯噪声的主要原因是减少随机数生成的计算时间。 18 | 19 | 其中因子分解噪声即: 20 | 21 | $$ 22 | \begin{aligned} \varepsilon_{i, j}^{w} &=f\left(\varepsilon_{i}\right) f\left(\varepsilon_{j}\right) \\ \varepsilon_{j}^{b} &=f\left(\varepsilon_{j}\right) \end{aligned} 23 | $$ 24 | 25 | 然后把带噪声的网络应用于Deep Q-Network或者A3C中的critic即可 26 | 27 | ![](../../.gitbook/assets/image%20%2872%29.png) 28 | 29 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/di-yi-ren-cheng-she-ji-you-xi.md: -------------------------------------------------------------------------------- 1 | # 第一人称射击游戏 2 | 3 | 最近,在第一人称射击游戏\(FPS\)中出现了更高级的视觉强化学习代理游戏环境。与ALE基准测试中的经典街机游戏不同,fps具有部分可观察状态的3D图形,因此是一种更现实的环境。通常情况下,视点是玩家控制角色的视点,尽管一些在FPS类别中广泛存在的游戏采用了过肩视点。FPS游戏的设计部分挑战在于简单快速的感知和反应,尤其是发现敌人并迅速瞄准他们。但也有其他认知挑战,包括在复杂的三维环境中定位和移动,预测多个对手的行动和位置,以及在一些游戏模式中基于团队的协作。如果使用视觉输入,则从像素中提取相关信息是一个挑战。 4 | 5 | ## ViZDoom 6 | 7 | > [ViZDoom: A Doom-based AI Research Platform for Visual Reinforcement Learning](https://arxiv.org/pdf/1605.02097.pdf) 8 | 9 | 深度神经网络的最新进展已经导致有效的基于视觉的强化学习方法,其已被用于从像素数据获得Atari 2600游戏中的人级控制器。然而,Atari 2600游戏并不像真实世界的任务,因为它们涉及非逼真的2D环境和第三人称视角。在这里,我们提出了一个新的试验台平台,用于从原始视觉信息中加强学习研究,在半现实3D世界中采用第一人称视角。这款名为ViZDoom的软件基于经典的第一人称射击游戏Doom。它允许开发使用屏幕缓冲区玩游戏的机器人。 ViZDoom通过方便的用户场景机制轻量级,快速且高度可定制。在实验部分,我们通过尝试学习两种情况的机器人来测试环境:基本的移动和射击任务以及更复杂的迷宫导航问题。使用具有Q学习和经验重放的卷积深度神经网络,对于这两种情况,我们能够训练有能力的机器人,这些机器人表现出类似人的行为。结果证实了ViZDoom作为AI研究平台的实用性,并暗示在3D逼真的第一人称视角环境中进行视觉强化学习是可行的。 10 | 11 | ![](../../.gitbook/assets/vizdoom.png) 12 | 13 | ## DeepMind Lab 14 | 15 | > [DeepMind Lab](https://arxiv.org/pdf/1612.03801.pdf) 16 | 17 | DeepMind Lab是第一人称3D游戏平台,专为研究和开发通用人工智能和机器学习系统而设计。 DeepMind Lab可用于研究自主人工代理如何在大型,部分观察和视觉多样化的世界中学习复杂的任务。 DeepMind Lab具有简单灵活的API,可以创建任务设计和新颖的AI设计,以便进行探索和快速迭代。 它由快速且广泛认可的游戏引擎提供支持,并为研究社区的有效使用量身定制。 18 | 19 | ![](../../.gitbook/assets/deepmind_lab.png) 20 | 21 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/deep-q-network.md: -------------------------------------------------------------------------------- 1 | # DQN 2 | 3 | > [Playing atari with deep reinforcement learning](https://arxiv.org/pdf/1312.5602v1.pdf) 4 | 5 | 我们提出了第一个深度学习模型,使用强化学习直接从高维感觉输入成功学习控制策略。 该模型是卷积神经网络,使用Q学习的变体进行训练,其输入是原始像素,其输出是估计未来奖励的值函数。 我们将方法应用于Arcade学习环境中的七个Atari 2600游戏,不需要调整架构或学习算法。 我们发现它在六个游戏中优于以前的所有方法,并且在三个游戏中超过了人类专家。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image-109.png) 10 | 11 | 最优贝尔曼方程 12 | 13 | $$Q^{*}(s, a)=\mathbb{E}_{s^{\prime} \sim \mathcal{E}}\left[r+\gamma \max _{a^{\prime}} Q^{*}\left(s^{\prime}, a^{\prime}\right) | s, a\right]$$ 14 | 15 | 在DQN中使用一个卷积神经网络拟合上面的Q函数,损失函数如下 16 | 17 | $$L_{i}\left(\theta_{i}\right)=\mathbb{E}_{s, a \sim \rho(\cdot)}\left[\left(y_{i}-Q\left(s, a ; \theta_{i}\right)\right)^{2}\right]$$ 18 | 19 | 其中 $$y_{i}=\mathbb{E}_{s^{\prime} \sim \mathcal{E}}\left[r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime} ; \theta_{i-1}\right) | s, a\right]$$ 20 | 21 | ### 探索利用 22 | 23 | 在选择下一步应该执行的动作时,以 $$\epsilon$$ 的概率选择一个随机动作,以 $$1-\epsilon$$ 的概率选择Q值最大的动作 24 | 25 | ### 经验回放 26 | 27 | 历史数据以 $$(st,at,rt+1,st + 1 )$$ 形式的储存在经验池中,并在网络更新时随机批采样。这使得该算法能够重用并从过去和不相关的经验中获益,这减少了更新的差异。 28 | 29 | ### 目标网络 30 | 31 | 为了提高训练的稳定性,算法中有两个网络,其一是最新的行为网络,其二是目标网络。目标网络每C步和当前最新的网络同步一次。 32 | 33 | ![](../../.gitbook/assets/image-84.png) 34 | 35 | ## 伪代码 36 | 37 | ![](../../.gitbook/assets/image-13.png) 38 | 39 | -------------------------------------------------------------------------------- /fang-fa/tuan-dui-ti-yu-you-xi/ddpg-+-mixing-policy-targets.md: -------------------------------------------------------------------------------- 1 | # DDPG + Mixing policy targets 2 | 3 | > [On-policy vs. off-policy updates for deep reinforcement learning](https://www.cs.utexas.edu/~pstone/Papers/bib2html-links/DeepRL16-hausknecht.pdf) 4 | 5 | 基于时间差异的深度加强学习方法通​​常由off-policy Q-Learning引导更新。在本文中,我们将研究使用on-policy,Monte Carlo更新的效果。 我们的实证结果表明,对于连续作用空间中的DDPG算法,与仅使用一个或另一个目标相比,混合策略上和非策略更新目标表现出优越的性能和稳定性。在离散动作空间中应用于DQN的相同技术大大减慢了学习。 我们的发现提出了关于on-policy和off-policy和蒙特卡罗更新的性质及其与深度强化学习方法的关系的问题。 6 | 7 | ## 方法 8 | 9 | ### 时间差分和蒙特卡洛的关系 10 | 11 | ![](../../.gitbook/assets/image%20%2836%29.png) 12 | 13 | ![](../../.gitbook/assets/image%20%28106%29.png) 14 | 15 | ![](../../.gitbook/assets/image%20%2887%29.png) 16 | 17 | ### Computing On-Policy MC Targets 18 | 19 | ![](../../.gitbook/assets/image%20%2867%29.png) 20 | 21 | ### Mixing Update Targets 22 | 23 | ![](../../.gitbook/assets/image%20%2835%29.png) 24 | 25 | ## 实验 26 | 27 | ### Results in discrete action space 28 | 29 | DQN架构\[8\]使用深度神经网络和1步Q-Learning更新来估计每个离散行为的Q值。 使用Arcade学习环境\[2\],我们评估混合更新对Beam Rider,Breakout,Pong,QBert和Space Invaders的Atari游戏的影响。 30 | 31 | ![](../../.gitbook/assets/image%20%28136%29.png) 32 | 33 | ### Results: DDPG 34 | 35 | Half Field Offense Domain 36 | 37 | 回报函数 38 | 39 | ![](../../.gitbook/assets/image%20%28181%29.png) 40 | 41 | ![](../../.gitbook/assets/image%20%28145%29.png) 42 | 43 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/jie-ji-you-xi.md: -------------------------------------------------------------------------------- 1 | # 街机游戏 2 | 3 | ## Arcade Learning Environment 4 | 5 | > [The Arcade Learning Environment: An Evaluation Platform for General Agents](https://arxiv.org/pdf/1207.4708.pdf) 6 | 7 | ALE为数百个Atari 2600游戏环境提供了一个界面,每个环境都是不同的,有趣的,并且设计成对人类玩家的挑战。 ALE为强化学习,模型学习,基于模型的规划,模仿学习,转移学习和内在动机提出了重大的研究挑战。最重要的是,它提供了一个严格的测试平台,和这些问题的评估比较方法。我们使用完善的AI技术(包括强化学习和规划)设计的独立代理和基准测试来说明ALE的前景。在此过程中,我们还提出了ALE实现的评估方法,报告了超过55种不同游戏的实证结果。所有软件(包括基准代理)都是公开的。 8 | 9 | ![](../../.gitbook/assets/ale.png) 10 | 11 | ## Retro Learning Environment 12 | 13 | > [Playing SNES in the Retro Learning Environment](https://arxiv.org/pdf/1611.02205.pdf) 14 | 15 | 经典街机游戏的另一个平台是RLE,它目前包含了为超级任天堂娱乐系统\(SNES\)发布的几款游戏。这些游戏都有3D图形,控制器允许720多种动作组合。因此SNES游戏比Atari 2600游戏更加复杂和现实,但RLE却没有ALE那么受欢迎。 16 | 17 | RLE可以在超级任天堂娱乐系统(SNES),Sega Genesis和其他几款游戏机上运行游戏。该环境是可扩展的,允许添加更多视频游戏和控制台到环境中,同时保持与ALE相同的界面。而且,RLE与Python和Torch兼容。 SNES游戏由于其更高的复杂性和多功能性而对当前算法构成了重大挑战。 18 | 19 | ![](../../.gitbook/assets/rle.png) 20 | 21 | ## General Video Game AI framework 22 | 23 | > [ Deep Reinforcement Learning for General Video Game AI](https://arxiv.org/pdf/1806.02448.pdf) 24 | 25 | 通用电子游戏AI \(GVGAI\)竞赛及其相关软件框架为大量使用特定领域描述语言编写的游戏提供了一种对AI算法进行基准测试的方法。尽管人们对这项竞赛很感兴趣,但迄今为止,它一直专注于在线规划,提供一种允许使用蒙特卡洛树搜索等算法的正向模型。 26 | 27 | 在本文中,我们描述了如何将GVGAI接口到OpenAI Gym环境,这是一种广泛使用的连接代理到强学习问题的方法。使用这个接口,我们描述了几种深度强化学习算法的广泛应用在许多GVGAI游戏中的表现。我们进一步分析结果,以提供第一个指标,描述这些游戏的相对难度,包括ALE中的游戏。 28 | 29 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/dueling-deep-q-network.md: -------------------------------------------------------------------------------- 1 | # Dueling DQN 2 | 3 | > [Dueling Network Architectures for Deep Reinforcement Learning](https://arxiv.org/pdf/1511.06581.pdf) 4 | 5 | 近年来,在强化学习中使用深度表征已经取得了许多成功。尽管如此,这些应用程序中的许多使用传统的架构,如卷积网络、LSTM或自动编码器。在这篇论文中,我们提出了一种新的无模型强化学习的神经网络结构。我们的dueling网络代表两个独立的估计:一个用于状态值函数,一个用于状态相关的行动优势函数。这种分解的主要好处是,在不改变基础强化学习算法的情况下,将跨动作的学习通用化。我们的结果表明,在许多相似价值的行为面前,这种结构导致了更好的策略评估。此外,dueling的架构使我们的RL代理能够在Atari域上达到最优的效果。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image-9.png) 10 | 11 | 正如图2所示,我们的新架构背后的关键观点是,对于许多状态来说,没有必要估算每个动作选择的价值。例如,在耐力赛游戏中,知道是否向左或向右移动只在碰撞明显时才重要。在某些状态,知道采取何种行动至关重要,但在许多其他状态,行动的选择对发生的事情没有影响。然而,对于基于自举的算法,状态值的估计对于每种状态都非常重要。 12 | 13 | 为了实现这一目标,我们设计了一个单一的Q网络架构,如图1所示,它们更像是dueling网络。 与最初的DQN一样,dueling网络的较低层是卷积。 然而,我们不是使用单个完全连接层序列跟随卷积层,而是使用完全连接层的两个序列(或流)。 构造两个流使得它们具有提供价值和优势函数的单独估计的能力 14 | 15 | ![](../../.gitbook/assets/image-73.png) 16 | 17 | 利用下式,我们可以在DQN算法中使用该网络结构 18 | 19 | $$Q(s, a ; \theta, \alpha, \beta)=V(s ; \theta, \beta)+A(s, a ; \theta, \alpha)$$ 20 | 21 | 但是这个式子有一个缺点,即无法单独提取出真实的 $$V$$ (价值)和 $$A$$ (动作优势)值,可以考虑一个简单的情况,即$$V$$ 加上一个常量、$$A$$ 减去一个常量,$$Q$$不变。 22 | 23 | 所以一种代替的公式是 24 | 25 | $$\begin{array}{c}{Q(s, a ; \theta, \alpha, \beta)=V(s ; \theta, \beta)+} \\ {\left(A(s, a ; \theta, \alpha)-\max _{a^{\prime} \in|\mathcal{A}|} A\left(s, a^{\prime} ; \theta, \alpha\right)\right)}\end{array}$$ 26 | 27 | 这样设计的原因是 28 | 29 | ![](../../.gitbook/assets/image-47.png) 30 | 31 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/deep-ga.md: -------------------------------------------------------------------------------- 1 | # Deep GA 2 | 3 | > [Deep Neuroevolution: Genetic Algorithms are a Competitive Alternative for Training Deep Neural Networks for Reinforcement Learning](https://arxiv.org/pdf/1712.06567.pdf) 4 | 5 | 深度人工神经网络(DNN)通过基于梯度的学习算法(即反向传播)进行常规训练。 进化策略(ES)可以与基于反向基础的算法(如Q-learning和策略梯度)相媲美,以解决深层强化学习(RL)问题。 然而,ES可以被认为是基于梯度的算法,因为它通过类似于梯度的有限差分近似的操作来形成随机梯度下降。 这提出了一个问题,即基于非梯度的进化算法是否可以在DNN尺度上发挥作用。在这里我们可以说明:我们使用简单的,无梯度,基于种群的遗传算法(GA)来演化DNN的权重,并且它可以解决硬的深RL问题,包括Atariand人形运动。 Deep GA成功地发展了具有超过四百万个自由参数的网络,这是最大的神经网络随着传统的进化算法而发展的。这些结果(1)扩展了我们对GA可以运作的规模的认识,(2)有趣的是,在某些情况下,跟随梯度不是优化性能的最佳选择,(3)立即可用于多种神经进化技术改进性能。我们通过展示将DNN与新颖性搜索结合,这种模式鼓励在具有欺骗性或稀疏回报函数的任务上进行探索,可以解决回报最大化算法\(例如DQN、A3C、ES和遗传算法\)的失败。此外,深度GA比ES、A3C和DQN更快\(在一个桌面上训练Atari 4小时,或者在720个内核上训练Atari 1小时\),并且支持最先进的、高达10,000倍的紧凑编码技术。 6 | 7 | ## 方法 8 | 9 | 本文使用的遗传算法是非梯度的,仅使用突变和筛选获取更强的个体,这和前面的ES算法是截然不同的。 10 | 11 | ### 遗传算法 12 | 13 | ![](../../.gitbook/assets/image-40.png) 14 | 15 | ### 新颖搜索 16 | 17 | ![](../../.gitbook/assets/image-24.png) 18 | 19 | ### 为什么GA比ES快? 20 | 21 | 由于以下两个主要原因,GA比ES更快:(1)对于每次生成,ES必须计算如何更新其神经网络参数向量 $$θ$$ 。 它是通过加权平均值来实现的,这些平均值是通过它们的大量伪后代(随机 $$θ$$ 扰动)的加权平均值。 这种平均操作对于大型神经网络和大量伪后代(后者需要健康的优化)来说是缓慢的,并且对于Deep GA来说不是必需的。 (2)ES要求虚拟批量规范化以在伪后代之间生成不同的策略,这对于准确的有限差分近似是必需的。 虚拟批次规范化需要参考批次的额外前向传递 - 在训练开始时选择的随机观察集 - 计算层规范化统计数据,然后以与批量标准化相同的方式使用。 我们发现随机GA参数扰动产生了足够多样的策略而没有虚拟批量归一化,从而避免了这些额外的前向传递通过网络。 22 | 23 | ### 群体编码方法 24 | 25 | ![](../../.gitbook/assets/image-44.png) 26 | 27 | ## 实验 28 | 29 | ![](../../.gitbook/assets/image-91.png) 30 | 31 | -------------------------------------------------------------------------------- /fang-fa/jing-su-you-xi/ddpg.md: -------------------------------------------------------------------------------- 1 | # DDPG 2 | 3 | > [CONTINUOUS CONTROL WITH DEEP REINFORCEMENT LEARNING](https://arxiv.org/pdf/1509.02971.pdf) 4 | 5 | 我们将深度Q-Learning成功的基本思想适应于连续化的领域。 我们提出了一种基于可以在连续动作空间上操作的去终止策略梯度的演员评论,无模型算法。 使用相同的学习算法,网络架构和超参数,我们的算法可以有力地解决20多个模拟物理任务,包括经典问题,如推车摆动,灵巧操纵,腿式运动和汽车驾驶。 我们的算法能够找到性能与计划算法所发现的策略具有竞争性的策略,并且可以完全访问域及其衍生物的动态。 我们进一步证明,对于许多任务,算法可以“端对端”学习策略:直接来自原始像素输入。 6 | 7 | ## 方法 8 | 9 | 为了最大化回报,我们通常对期望回报函数进行微分,得到一个策略梯度来优化策略参数。 10 | 11 | ### 确定性策略梯度\(DPG\) 12 | 13 | Silver 等人证明了确定性策略梯度定理 14 | 15 | $$ 16 | \begin{aligned} \nabla_{\theta^{\mu}} J & \approx \mathbb{E}_{s_{t} \sim \rho^{\beta}}\left[\nabla_{\theta^{\mu}} Q\left.(s, a | \theta^{Q})\right|_{s=s_{t}, a=\mu\left(s_{t} | \theta^{\mu}\right)}\right] \\ &=\mathbb{E}_{s_{t} \sim \rho^{\beta}}\left[\nabla_{a} Q\left.(s, a | \theta^{Q})\right|_{s=s_{t}, a=\mu\left(s_{t}\right)} \nabla_{\theta_{\mu}} \mu\left.(s | \theta^{\mu})\right|_{s=s_{t}}\right] \end{aligned} 17 | $$ 18 | 19 | 其中 $$Q(s, a)$$ 是动作值函数, $$\mu(s)$$ 是连续动作函数,即Actor-Critic架构中的Critic和Actor。 20 | 21 | 用深度神经网络作为函数拟合器得到深度确定性梯度\(DDPG\)算法 22 | 23 | ![](../../.gitbook/assets/image-70.png) 24 | 25 | 其中 $$N_t$$ 是用于动作探索的噪音。和DQN一样,DDPG也有当前网络和目标网络之分,其中目标网络采用软更新的方式逐步复制当前网络的参数。Critic的学习和DQN一样使用时间差分算法,Actor则用确定性策略梯度定理来优化。最后,DDPG也用经验池来保证充分利用样本。 26 | 27 | ## 实验 28 | 29 | ![](../../.gitbook/assets/image-51.png) 30 | 31 | ![](../../.gitbook/assets/image-31.png) 32 | 33 | 文中提到用BNN可以提升训练的效果,然而Weight Normalization的论文提到BNN会使得DQN学习不稳定。在我的实验中,小BATCH\_SIZE情况下DDPG确实难以学到东西,毕竟DDPG的Critic部分和DQN类似。 34 | 35 | -------------------------------------------------------------------------------- /fang-fa/ment-te-zu-ma-de-fu-chou/ape-x.md: -------------------------------------------------------------------------------- 1 | # Ape-X 2 | 3 | > [DISTRIBUTED PRIORITIZED EXPERIENCE REPLAY](https://arxiv.org/abs/1803.00933) 4 | 5 | 我们提出了一种用于大规模深度强化学习的分布式架构,使代理能够从数量级上有效地学习比以前更多的数据。 该算法将行为与学习分离:通过根据共享神经网络选择动作,actor与他们自己的环境实例交互,并在共享体验重放记忆中累积所得到的体验; 学习者重放经验样本并更新神经网络。 该体系结构依赖于优先级经验重放,仅针对参与者生成的最重要数据。 我们的架构大大改善了Arcade学习环境的最新技术水平,在壁钟培训时间的一小部分内实现了更好的最终性能。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image%20%2851%29.png) 10 | 11 | 原则上,actor和learner可以分布在多个worker中。在我们的实验中,数百名参与者在处理器上运行以生成数据,一名学习者在处理器上运行以采样最有用的样本\(图1 \)。actor和learner的伪代码在算法1和2中显示。更新后的网络参数会定期从学习者处传达给参与者。 12 | 13 | ![](../../.gitbook/assets/image%20%28127%29.png) 14 | 15 | 与共享梯度相比,共享经验具有一定的优势。 低延迟通信并不像分布式SGD那么重要,因为经验数据比梯度过时更慢,只要学习算法对off-policy数据具有鲁棒性。 在整个系统中,我们通过将所有通信与集中式重放进行批处理来利用这一点,以一定的延迟为代价提高效率和吞吐量。 通过这种方法,参与者和学习者甚至可以在不限制性能的情况下在不同的数据中心运行。 16 | 17 | 最后,通过学习off-policy,我们可以进一步利用Ape-X整合来自许多分布式参与者的数据的能力,为不同的参与者提供不同的策略,扩大他们共同遇到的体验的多样性。正如我们将在结果中看到的,这足以在困难的勘探问题上取得进展。 18 | 19 | ### APE-X DQN 20 | 21 | $$ 22 | l_{t}(\boldsymbol{\theta})=\frac{1}{2}\left(G_{t}-q\left(S_{t}, A_{t}, \boldsymbol{\theta}\right)\right)^{2} 23 | $$ 24 | 25 | ![](../../.gitbook/assets/image%20%28162%29.png) 26 | 27 | ### APE-X DPG 28 | 29 | $$ 30 | l_{t}(\psi)=\frac{1}{2}\left(G_{t}-q\left(S_{t}, A_{t}, \psi\right)\right)^{2} 31 | $$ 32 | 33 | ![](../../.gitbook/assets/image%20%2896%29.png) 34 | 35 | ## 实验 36 | 37 | ![](../../.gitbook/assets/image%20%2870%29.png) 38 | 39 | ![](../../.gitbook/assets/image%20%28105%29.png) 40 | 41 | ![](../../.gitbook/assets/image%20%2886%29.png) 42 | 43 | ![](../../.gitbook/assets/image%20%285%29.png) 44 | 45 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/multiagent-deep-q-network.md: -------------------------------------------------------------------------------- 1 | # Multiagent DQN 2 | 3 | > [Multiagent Cooperation and Competition with Deep Reinforcement Learning](https://arxiv.org/pdf/1511.08779v1.pdf) 4 | 5 | 多代理系统出现在大多数社会、经济和政治环境中。在目前的工作中,我们将Google DeepMind提出的深度Q-Learning网络架构扩展到多代理环境,并研究由独立的深度Q-Networks控制的两个代理如何在经典视频游戏Pong中交互。通过操纵经典的Pong奖励计划,我们展示了竞争和合作行为是如何出现的。竞争代理人能有效地学习比赛和得分。在合作奖励计划下训练的代理人找到了一个最佳策略来尽可能长时间地保持球在游戏中。我们还描述了从竞争行为到协作行为的发展。目前的工作表明,深度Q-Networks可以成为研究生活在高度复杂环境中的多智能体系统分散学习的实用工具。 6 | 7 | ## 方法 8 | 9 | ### Pong 10 | 11 | ![](../../.gitbook/assets/image-33.png) 12 | 13 | 在屏幕中,每个代理对应于位于屏幕左侧和右侧的一个桨叶\(见图1 \)。这两个代理可以采取4种行动:向上移动、向下移动、静止不动、开火\(发射球或开始游戏\)。行动由两个代理的对应深度Q网络决定。 14 | 15 | ### Reward 16 | 17 | **完全合作** 18 | 19 | 在这种情况下,我们希望代理人学会尽可能长时间地保持球在比赛中。 为了达到这个目的,我们会在球失控时对两名球员进行惩罚。 球传球的哪个球员并不重要,也没有给出积极的回报。 20 | 21 | ![](../../.gitbook/assets/image-42.png) 22 | 23 | **合作到竞争的过度** 24 | 25 | 在完全竞争和完全合作的情况下,丢球的惩罚是一样的。区别这两种策略的是奖励矩阵主对角线上的值,也就是说,当球员把球踢给另一名球员时,代理会得到相应的奖励。如果你允许这个奖励值从1逐渐变为+1,你就可以研究介于竞争和合作之间的中间情景。我们进行了一系列的实验来探索行为的变化,当得分点 $$ρ$$ 从-1变化到到1。 26 | 27 | ![](../../.gitbook/assets/image-95.png) 28 | 29 | ## 实验 30 | 31 | * **Average paddle-bounces per point** 在两名球员中的一人得分之前,计算他们之间的球反弹次数。随机扮演的代理人几乎从不击球。训练有素的代理在一回合中中多次击球。下面我们将这个统计数据称为paddle-bounces。 32 | * **Average wall-bounces per paddle-bounce** 量化球在到达另一个球员之前从顶壁和底壁反弹的次数。 有可能以锐角击球,以便在到达另一名球员之前将球反弹几次。根据策略,球员可能更喜欢将球直接发送给其他球员或使用墙弹跳。 此后我们将此统计数据称为wall-vounces 33 | * **Average serving time per point** 显示球员在球丢失后重新开始比赛需要多长时间(以帧数衡量)。 要重新启动游戏,刚刚得分的代理会发送特定命令(开火)。 根据奖励规划,代理可能希望避免重启游戏。 此后我们将此统计数据称为serving time。 34 | 35 | ### 竞争的代理 36 | 37 | ![](../../.gitbook/assets/image-3.png) 38 | 39 | ### 合作的代理 40 | 41 | ![](../../.gitbook/assets/image-39.png) 42 | 43 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/proximal-policy-optimization.md: -------------------------------------------------------------------------------- 1 | # PPO 2 | 3 | > [Proximal Policy Optimization Algorithms](https://arxiv.org/pdf/1707.06347.pdf) 4 | 5 | 我们提出了一个用于强化学习的新的策略梯度方法,它通过与环境的相互作用在采样数据之间交替,并使用随机梯度上升来优化“替代”目标函数。 鉴于标准策略梯度方法针对每个数据样本执行一次梯度更新,我们提出了一种新的目标函数,其允许多个时段的小批量更新。 我们称之为邻域策略优化(PPO)的新方法具有信任区域策略优化(TRPO)的一些优点,但它们实现起来更简单,更通用,并且具有更好的样本复杂性(根据经验)。 我们的实验测试PPO的一系列基准任务,包括模拟机器人运动和Atari游戏,我们表明PPO优于其他在线政策梯度方法,总体上在样本复杂性,简单性和wall-time之间取得了有利的平衡。 6 | 7 | ## 方法 8 | 9 | ### TRPO 10 | 11 | 在TRPO中,目标函数\(“代理”目标\)的最大化,受策略更新步长的限制 12 | 13 | $$ 14 | \underset{\theta}{\operatorname{maximize}} \quad \hat{\mathbb{E}}_{l}\left[\frac{\pi_{0}\left(a_{l} | s_{l}\right)}{\pi_{\theta_{\text { old }}}\left(a_{l} | s_{l}\right)} \hat{A}_{l}\right] 15 | \\ 16 | \hat{\mathbb{E}}_{l}\left[\mathrm{KL}\left[\pi_{\theta_\mathrm{old}}(\cdot | s_{l}), \pi_{\theta}(\cdot | s_{t})\right]\right] \leq \delta 17 | $$ 18 | 19 | 在对目标进行线性逼近和约束的二次近似之后,使用共轭梯度算法可以有效地近似解决该问题。 20 | 21 | 证明TRPO的理论实际上建议使用惩罚而不是约束,即解决下面的无约束优化问题 22 | 23 | ![](../../.gitbook/assets/image-81.png) 24 | 25 | 然而,TRPO使用一个约束来代替的原因是: 对于不同的问题最佳的$$β$$是不同的,甚至在一个任务的不同阶段都会变化。 26 | 27 | ### Clipped Surrogate Objective 28 | 29 | 设 $$r_{l}(\theta)=\frac{\pi_{\theta}\left(a_{t} | s_{t}\right)}{\pi_{\theta_{\text { old }}}\left(a_{t} | s_{t}\right)}, \text { so } r\left(\theta_{\text { old }}\right)=1$$ ,上面的约束函数变为: 30 | 31 | ![](../../.gitbook/assets/image-19.png) 32 | 33 | 我们提出的代理损失为,即当概率比的变化会使目标函数提高时,我们忽略它: 34 | 35 | ![](../../.gitbook/assets/image-49.png) 36 | 37 | 其中 $$\epsilon$$是超参数,如 $$\epsilon=0.2$$ ,下图是一个简单示例图 38 | 39 | ![](../../.gitbook/assets/image-111.png) 40 | 41 | ### Adaptive KL Penalty Coefficient 42 | 43 | ![](../../.gitbook/assets/image-69.png) 44 | 45 | 这种方法动态调节 $$β$$ ,但是效果没有CLIP好 46 | 47 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/actor-mimic.md: -------------------------------------------------------------------------------- 1 | # Actor-Mimic 2 | 3 | > [Actor-Mimic: Deep Multitask and Transfer Reinforcement Learning](https://arxiv.org/pdf/1511.06342.pdf) 4 | 5 | 在多种环境中行动并将先前的知识转移到新环境中的能力可以被认为是任何智能代理的一个关键方面。为了实现这个目标,我们定义了一种新的多任务和迁移学习方法,使自主代理能够同时学习如何在多个任务中运行,然后将其知识推广到新的领域。这种被称为“Actor-Mimic”的方法利用深度强化学习和模型压缩技术来训练一个单一的策略网络,该网络通过几个专家教师的指导来学习如何在一系列不同的任务中行动。然后,我们证明了深层策略网络所学习到的表征能够在没有专家指导的情况下普遍适用于新的任务,加快了在新环境中的学习。虽然我们的方法通常可以应用于广泛的问题,但是我们使用雅达利游戏作为测试环境来演示这些方法。 6 | 7 | 本算法和Policy Distillation类似,均为用学生网络提取多个专用网络的策略,实现多任务学习。 8 | 9 | ## 方法 10 | 11 | ### POLICY REGRESSION OBJECTIVE 12 | 13 | 令Actor-Mimic网络输出的策略为 14 | 15 | $$ 16 | \pi_{E_{i}}(a | s)=\frac{e^{\tau^{-1} Q_{E_{i}}(s, a)}}{\sum_{a^{\prime} \in \mathcal{A}_{E_{i}}} e^{\tau^{-1} Q_{E_{i}}\left(s, a^{\prime}\right)}} 17 | $$ 18 | 19 | 损失函数为学生网络与指导网络输出的交叉熵 20 | 21 | $$ 22 | \mathcal{L}_{\text {policy}}^{i}(\theta)=\sum_{a \in \mathcal{A}_{E_{i}}} \pi_{E_{i}}(a | s) \log \pi_{\mathrm{AMN}}(a | s ; \theta) 23 | $$ 24 | 25 | ### FEATURE REGRESSION OBJECTIVE 26 | 27 | $$ 28 | \mathcal{L}_{\text {FeatureRegression}}^{i}\left(\theta, \theta_{f_{i}}\right)=\left\|f_{i}\left(h_{\mathrm{AMN}}(s ; \theta) ; \theta_{f_{i}}\right)-h_{E_{i}}(s)\right\|_{2}^{2} 29 | $$ 30 | 31 | 隐藏层套上一个f转换器后用L2损失指导训练 32 | 33 | ### ACTOR-MIMIC OBJECTIVE 34 | 35 | $$ 36 | \mathcal{L}_{\text {ActorMimic}}^{i}\left(\theta, \theta_{f_{i}}\right)=\mathcal{L}_{p o l i c y}^{i}(\theta)+\beta * \mathcal{L}_{F \text { eatureRegression }}^{i}\left(\theta, \theta_{f_{i}}\right) 37 | $$ 38 | 39 | 两个损失混合起来训练 40 | 41 | ### CONVERGENCE PROPERTIES OF ACTOR-MIMIC 42 | 43 | 本节分析算法收敛性质,暂略 44 | 45 | ## 实验 46 | 47 | 多任务学习测试 48 | 49 | ![](../../.gitbook/assets/image-56.png) 50 | 51 | 迁移学习测试 52 | 53 | ![](../../.gitbook/assets/image-17.png) 54 | 55 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/asynchronous-deep-reinforcement-learning.md: -------------------------------------------------------------------------------- 1 | # A3C 2 | 3 | > [Asynchronous methods for deep reinforcement learning](https://arxiv.org/pdf/1602.01783.pdf) 4 | 5 | 我们为深度强化学习提出了一个概念上简单的轻量级框架,它使用异步梯度下降来优化深度神经网络控制器。我们提出了标准强化学习算法的异步变体,并表明并行Actor-Critic对训练有着不稳定的影响,允许所有四种方法成功训练神经网络控制器。最佳性能方法是Actor-Critic的同步变体,它超过了Atari领域的最新水平,同时在单个多核CPU而不是GPU上训练了一半时间。此外,我们还表明异步Actor-Critic成功地解决了各种各样的连续电机控制问题,以及使用视觉输入导航随机3D迷宫的新任务。 6 | 7 | ## 方法 8 | 9 | 现在我们介绍单步Sarsa、单步Q-learning、n-step Q-learning和advantage actor-critic的多线程异步变体。设计这些方法的目的是寻找能够可靠地训练深度神经网络策略且不需要大量资源的RL算法。虽然底层的RL方法差别很大,actor- critic是一种on-policy搜索方法,Q-learning是一种off-policy value-based 方法,但是我们使用两种主要思想使这四种算法在给定我们的设计目标的情况下都具有实用性。 10 | 11 | 通过在不同的线程中运行不同的探索策略,与应用在线更新的单个代理相比,并行应用在线更新的多个actor-leaners对参数所做的总体更改在时间上可能不太相关。因此,我们不使用经验回放,而是依靠采用不同探测策略的并行程序来执行DQN训练算法中的经验重放所承担的稳定角色。 12 | 13 | ### 异步 1-step Q-learning 14 | 15 | 每个线程与自己的环境副本进行交互,并在每个步骤中计算Q-learning损耗的梯度。在计算Q-learning损耗时,我们采用了DQN训练方法中提出的共享且缓慢变化的目标网络。在应用梯度之前,我们还会在多个时间步长上累积梯度,这减少了多个actor-leaner重写彼此更新的几率。通过几个步骤累积更新还提供了以计算效率换取数据效率的能力。 16 | 17 | 最后,我们发现给每个线程一个不同的探索策略有助于提高健壮性。以这种方式增加勘探的多样性通常也会通过更好的勘探来提高性能 18 | 19 | ![](../../.gitbook/assets/image-46.png) 20 | 21 | ### 异步优势 Actor-Critic\(A3C\) 22 | 23 | ![](../../.gitbook/assets/image-62.png) 24 | 25 | 我们还发现,将将策略 $$π$$ 的熵添加到目标函数中,通过阻止结构收敛到次优的确定性策略改进了探索。包括熵正则化项在内的全目标函数对政策参数的梯度形式为: 26 | 27 | $$ 28 | \nabla_{\theta^{\prime}} \log \pi\left(a_{t} | s_{t} ; \theta^{\prime}\right)\left(R_{t}-V\left(s_{t} ; \theta_{v}\right)\right)+\beta \nabla_{\theta^{\prime}} H\left(\pi\left(s_{t} ; \theta^{\prime}\right)\right) 29 | $$ 30 | 31 | 其中 $$H$$ 是熵 32 | 33 | ### 优势 Actor-Critic\(A2C\) 34 | 35 | A2C即A3C的同步版本 36 | 37 | ![](../../.gitbook/assets/image-22.png) 38 | 39 | ## 实验 40 | 41 | ### 雅达利 2600 游戏 42 | 43 | ![](../../.gitbook/assets/image-93.png) 44 | 45 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/macro-action-sl.md: -------------------------------------------------------------------------------- 1 | # Macro-action SL 2 | 3 | > [Learning Macromanagement in StarCraft from Replays using Deep Learning](https://arxiv.org/abs/1707.03743) 4 | 5 | 实时战略游戏星际争霸已被证明是一个充满挑战的人工智能技术环境,因此,目前最先进的解决方案包括许多手工制作的模块。在本文中,我们将展示如何使用深度学习直接从游戏回放中学习星际争霸中的宏观管理决策。神经网络训练了789,571个状态 - 动作对,从2,005个高手玩家的重放中提取,在预测下一个构建动作时达到54.6%和22.9%的前1和前3错误率。通过将训练有素的网络整合到开源星际争霸机器人——人工智能机器人\(UAlbertaBot\)中,该系统可以显著优于游戏内置的人族机器人,并以固定的冲刺策略与人工智能机器人\(UAlbertaBot\)进行竞争。据我们所知,这是第一次直接从星际争霸的重播中学习宏观管理任务。虽然最好的手工策略仍是最先进的,但深度网络方法能够表达多种不同的策略,从而通过深度强化学习进一步提高网络性能,这是未来研究的一个很有前途的途径。最终,这种方法可能会导致强大的星际争霸机器人对硬编码策略的依赖性降低。 6 | 7 | ## 方法 8 | 9 | ### Dataset 10 | 11 | 重放文件是二进制格式,需要预处理才能提取知识。本文中使用的数据集是从现有数据集中提取的。辛纳伊夫等人。通过清理三个星际争霸社区网站GosuGamers、ICCupand TeamLiquid,收集了7649次回放,这些网站主要是为包括专业人士\[27\]在内的高技能玩家提供的。罗伯逊等人从存储库中提取了大量信息并存储在一个数据库中。\[22\]。这个数据库包含游戏中每24帧的状态变化,包括单位属性。我们的数据集是从这个数据库中提取的,预处理步骤的另一个视图如图所示: 12 | 13 | ![](../../.gitbook/assets/image%20%28161%29.png) 14 | 15 | ### Network Architecture 16 | 17 | ![](../../.gitbook/assets/image%20%2898%29.png) 18 | 19 | ### Training 20 | 21 | 789,571个状态-动作对的数据集被分成631,657对\(80%\)的训练集和157,914对\(20%\)的测试集。训练集专门用于训练网络,而测试集用于评估训练网络。状态-动作对来自2005个不同的神族和人族游戏,在分割数据之前不会被打乱,以避免来自同一个游戏的动作同时出现在训练和测试集中 22 | 23 | ### Applying the Network to a StarCraft Bot 24 | 25 | 学习预测人类玩游戏中的行为与学习游戏的行为非常相似。 然而,这种类型的模仿学习确实有其局限性,因为代理人不会学会采取最佳行动,而是采取最可能的行动(如果人类正在玩)。 然而,将训练有素的网络应用为现有机器人的宏观管理模块可能是朝着更先进的方法迈出的重要一步。 26 | 27 | 在本文中,我们构建了UAlbertaBot,它有一个生产管理器,管理机器人必须按顺序生成的构建队列。 通常使用基于目标的搜索的生产经理被修改为使用在重放上训练的网络。 UAlbertaBot的制作经理也被扩展为网络客户端; 当要求下一个构建时,请求被转发到网络服务器以及当前游戏状态的描述,该网络服务器将游戏状态馈送到神经网络,然后返回到模块的构建预测。 由于网络只接受过Protoss与Terran游戏的训练,因此只能在这场比赛中进行测试。 28 | 29 | ## 实验 30 | 31 | ![](../../.gitbook/assets/image%20%2880%29.png) 32 | 33 | ![](../../.gitbook/assets/image%20%281%29.png) 34 | 35 | 可以看到经过精心手工策略设计的UAlbertaBot仍然是效果最好的,但是从回放中学习仍为星际争霸智能提供了一个新方向。 36 | 37 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/hra.md: -------------------------------------------------------------------------------- 1 | # HRA 2 | 3 | > [Hybrid Reward Architecture for Reinforcement Learning](https://arxiv.org/pdf/1706.04208.pdf) 4 | 5 | 强化学习(RL)的主要挑战之一是泛化。 非典型深度RL方法这是通过使用深度网络用低维表示近似最优值函数来实现的。 虽然这种方法在许多领域都很有效,但在最佳值函数不能简单地降低到低维表示的领域中,学习可能非常缓慢和不稳定。 本文通过提出一种称为混合奖励架构(HRA)的新方法,有助于解决这些具有挑战性的领域.HRA将分解的奖励函数作为输入,并为每个组件奖励函数学习单独的价值函数。 因为每个组件通常仅依赖于所有特征的子集,所以相应的值函数可以通过低维表示更容易地接近,从而实现更有效的学习。我们将在一个玩具问题和Atari游戏《吃豆人》中演示HRA,在游戏中,HRA实现了高于人类的性能。 6 | 7 | ## 方法 8 | 9 | 通常使用具有权重向量θ的函数逼近器来估计Q值函数: $$Q(s,a;θ)$$ 。 DQN使用深度神经网络作为函数逼近器,并通过最小化损失函数的顺序迭代地改进 $$Q^*$$ 。 10 | 11 | $$ 12 | \begin{aligned} \mathcal{L}_{i}\left(\theta_{i}\right) &=\mathbb{E}_{s, a, r, s^{\prime}}\left[\left(y_{i}^{D Q N}-Q\left(s, a ; \theta_{i}\right)\right)^{2}\right] \\ \text { with } \quad y_{i}^{D Q N} &=r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime} ; \theta_{i-1}\right) \end{aligned} 13 | $$ 14 | 15 | 为了使得DQN更容易学习奖励,我们建议分解奖励函数 $$R_{e n v}$$为 $$n$$ 个函数 16 | 17 | $$ 18 | R_{e n v}\left(s, a, s^{\prime}\right)=\sum_{k=1}^{n} R_{k}\left(s, a, s^{\prime}\right), \quad \text { for all } s, a, s^{\prime} 19 | $$ 20 | 21 | 并且在每一个奖励函数中上训练单独的强化学习代理。奖励函数可能有无限多种不同的分解,但是为了实现易于学习的价值函数,分解应该使得每个奖励函数主要受少量状态变量的影响。 22 | 23 | ![](../../.gitbook/assets/image%20%2841%29.png) 24 | 25 | 代理的集合也可以被视为具有多个头的单个代理,每个头在不同的奖励函数下产生当前状态的动作值。HRA的损失函数如下: 26 | 27 | $$ 28 | \begin{aligned} \mathcal{L}_{i}\left(\theta_{i}\right) &=\mathbb{E}_{s, a, r, s^{\prime}}\left[\sum_{k=1}^{n}\left(y_{k, i}-Q_{k}\left(s, a ; \theta_{i}\right)\right)^{2}\right] \\ \text { with } & y_{k, i}=R_{k}\left(s, a, s^{\prime}\right)+\gamma \max _{a^{\prime}} Q_{k}\left(s^{\prime}, a^{\prime} ; \theta_{i-1}\right) \end{aligned} 29 | $$ 30 | 31 | $$ 32 | Q_{\mathrm{HRA}}^{*}(s, a) :=\sum_{k=1}^{n} Q_{k}^{*}(s, a) \quad \text { for all } s, a 33 | $$ 34 | 35 | 接下来的问题是如何分解回报,这通常需要相关的领域知识,如下: 36 | 37 | ![](../../.gitbook/assets/image%20%28130%29.png) 38 | 39 | -------------------------------------------------------------------------------- /qian-yan/yan-jiu-ping-tai/ji-shi-zhan-lve-you-xi.md: -------------------------------------------------------------------------------- 1 | # 即时战略游戏 2 | 3 | ## TorchCraft 4 | 5 | > [TorchCraft: a Library for Machine Learning Research on Real-Time Strategy Games](https://arxiv.org/pdf/1611.00625.pdf) 6 | 7 | 我们展示了TorchCraft,这是一个能够实现对星际争霸:母巢之战等实时战略(RTS)游戏进行深度学习研究的库,通过机器学习框架更容易控制这些游戏,比如Torch。 8 | 9 | ![](../../.gitbook/assets/torchcraft.png) 10 | 11 | ## SC2LE 12 | 13 | > [ StarCraft II: A New Challenge for Reinforcement Learning](https://arxiv.org/pdf/1708.04782v1.pdf) 14 | 15 | 本文介绍了基于星际争霸2游戏的强化学习环境SC2LE \(StarCraft II Learning Environment\)。这一领域对强化学习提出了一个新的巨大挑战,它代表了一个比以往大多数工作中所考虑的更困难的一类问题。这是一个多智能体、多参与者交互的问题;局部观测的地图信息不完整;动作空间大,涉及数百个单元的选择和控制;它的状态空间很大,必须仅从原始输入特征面观察;延期的信用分配需要数千步的长期策略。我们描述了《星际争霸2》领域的观察、行动和奖励规范,并提供了一个基于python的开放源码界面来与游戏引擎进行通信。除了主游戏地图,我们还提供了一套专注于《星际争霸2》游戏玩法中不同元素的迷你游戏。对于主游戏地图,我们还提供了一个来自人类专家玩家的游戏回放数据集。我们给出了训练神经网络预测游戏结果和玩家行为的初始基线结果。最后,我们给出了应用于星际争霸2领域的典型深度强化学习代理的初始基线结果。在迷你游戏中,这些代理学习如何达到与新手相当的游戏水平。然而,当在主游戏上进行训练时,这些代理无法取得显著的进展。因此,SC2LE为探索深度强化学习算法和体系结构提供了一个具有挑战性的新环境。 16 | 17 | ![](../../.gitbook/assets/sc2le.png) 18 | 19 | ## ELF 20 | 21 | > [ ELF: An Extensive, Lightweight and Flexible Research Platform for Real-time Strategy Games](https://papers.nips.cc/paper/6859-elf-an-extensive-lightweight-and-flexible-research-platform-for-real-time-strategy-games.pdf) 22 | 23 | 在本文中,我们提出了ELF,一个广泛,轻量和灵活的平台,用于基础强化学习研究。 使用ELF,我们实现了一个高度可定制的实时战略(RTS)引擎,具有三种游戏环境(Mini-RTS,夺旗和塔防)。 Mini-RTS作为星际争霸的缩影版,捕捉关键的游戏动态,并在笔记本电脑上以每核心40K帧速(FPS)运行。 结合现代强化学习方法,该系统可以在一天内通过6个CPU和1个GPU训练一个完整的游戏机器人对抗内置AI端到端。 此外,我们的平台在环境代理通信拓扑,RL方法选择,游戏参数变化方面具有灵活性,并且可以托管现有的基于C / C ++的游戏环境 像ALE一样。使用ELF,我们彻底探索训练参数,并显示在Mini-RTS的完整游戏中,具有Leaky ReLU 和批量标准化以及长视野训练和渐进式课程的网络70%的时间超过基于规则的内置AI 。 其他两场比赛也取得了很好的表现。 在游戏回放中,我们展示了我们的代理商学习有趣的策略。 ELF及其RL平台的开放源代码在:[https://github.com/facebookresearch/ELF。](https://github.com/facebookresearch/ELF。) 24 | 25 | ![](../../.gitbook/assets/elf.png) 26 | 27 | ![](../../.gitbook/assets/elf_code.png) 28 | 29 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/action-conditional-video-predictionusing-deep-networks-in-atari-games.md: -------------------------------------------------------------------------------- 1 | # Action-Conditional Video Prediction 2 | 3 | ## 方法 4 | 5 | > [Action-Conditional Video Predictionusing Deep Networks in Atari Games](http://papers.nips.cc/paper/5859-action-conditional-video-prediction-using-deep-networks-in-atari-games.pdf) 6 | 7 | 受基于视觉的强化学习问题\(特别是最近基准 ALE 中的Atari游戏\)的驱动,我们考虑未来图像帧依赖于控制变量或动作以及先前帧的时空预测问题。虽然雅达利游戏中的画面不是由自然场景构成的,但它在尺寸上是高维的,可以包含数十个物体,其中一个或多个物体被动作直接控制,许多其他物体受到间接影响,可能涉及物体的进入和分离,也可能涉及深度部分可观察性。我们提出并评估了两种基于卷积神经网络和递归神经网络的深层神经网络结构,包括编码层、动作条件变换层和解码层。实验结果表明,所提出的体系结构能够生成视觉上真实的帧,这些帧对于在某些游戏中控制大约100步动作条件预期也是有用的。据我们所知,本文是第一个对控制输入条件下的高维视频进行长期预测和评估的论文。 8 | 9 | ## 方法 10 | 11 | ![](../../.gitbook/assets/image-14.png) 12 | 13 | 我们架构的目标是学习一个函数: $$f : \mathbf{x}_{1 : t}, \mathbf{a}_{t} \rightarrow \mathbf{x}_{t+1}$$,其中 $$x$$ 是帧, $$a$$ 是动作。上图即我们提出的两种帧预测网络架构。每个编码层由输入帧提取时空特征,动作条件变换层通过引入动作变量作为附加输入,将编码特征转换为高级特征空间中下一帧的预测,最后解码映射预测的高层特征转换为输出像素。 14 | 15 | ### encoding 16 | 17 | Feedforward encoding 将先前帧的固定历史作为输入,通过通道连接\(图1a \),堆叠卷积层从连接的帧中直接提取时空特征。 18 | 19 | $$ 20 | \mathbf{h}_{t}^{e n c}=\mathrm{CNN}\left(\mathbf{x}_{t-m+1 : t}\right) 21 | $$ 22 | 23 | 其中 $$\mathbf{x}_{t-m+1 : t} \in \mathbb{R}(m \times c) \times h \times w$$ 24 | 25 | Recurrent encoding 26 | 27 | $$ 28 | \left[\mathbf{h}_{t}^{e n c}, \mathbf{c}_{t}\right]=\operatorname{LSTM}\left(\mathrm{CNN}\left(\mathrm{x}_{t}\right), \mathrm{h}_{t-1}^{e n c}, \mathbf{c}_{t-1}\right) 29 | $$ 30 | 31 | ### transformation 32 | 33 | 我们使用编码特征向量和控制变量之间的乘法交互 34 | 35 | $$ 36 | h_{t, i}^{d e c}=\sum_{j, l} W_{i j l} h_{t, j}^{e n c} a_{t, l}+b_{i} 37 | $$ 38 | 39 | 使用因子分解近似 40 | 41 | $$ 42 | \mathbf{h}_{t}^{d e c}=\mathbf{W}^{d e c}\left(\mathbf{W}^{e n c} \mathbf{h}_{t}^{e n c} \odot \mathbf{W}^{a} \mathbf{a}_{t}\right)+\mathbf{b} 43 | $$ 44 | 45 | ### decoding 46 | 47 | $$ 48 | \hat{\mathbf{x}}_{t+1}=\text { Deconv (Reshape }\left(\mathbf{h}^{d e c}\right) ) 49 | $$ 50 | 51 | 训练方式使用1-step到n-step的课程学习 52 | 53 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/loss-is-its-own-reward-self-supervision-for-reinforcement-learning.md: -------------------------------------------------------------------------------- 1 | # Self-Supervision 2 | 3 | ## 方法 4 | 5 | > [Loss is its own Reward:Self-Supervision for Reinforcement Learning](https://arxiv.org/abs/1612.07307) 6 | 7 | 强化学习优化了预期累积奖励的策略。但监督需要这么窄吗?对于许多任务来说,奖励是延迟和稀疏的,这使它成为端到端优化的一个困难和重要的信号。为了奖励,我们考虑一系列自我监督的任务,包括状态、行为和后继者,以提供辅助损失。这些损失为表征学习提供了无处不在的即时超视野,甚至在奖赏的意义上。虽然当前的结果表明仅从奖励中学习是可行的,但是纯增强学习方法受到计算和数据效率问题的限制,这些问题可以通过辅助损失来弥补。自我监督预训练和联合优化提高了端到端强化学习的数据效率和策略回报。 8 | 9 | ## 方法 10 | 11 | ### Self-Supervision 12 | 13 | 监督学习/无监督学习/自监督学习区别 14 | 15 | ![](../../.gitbook/assets/image-68.png) 16 | 17 | ### Tasks 18 | 19 | ![](../../.gitbook/assets/image-7.png) 20 | 21 | #### Reward 22 | 23 | 奖励的自我监督是一种自然的选择用于微调RL的“表示”。通过回归分组为正,零和负类,可以将奖励转换为代理任务作为即时预测。这相当于一步或零折扣价值函数估计,因此对于价值方法来说可能是多余的。然而,即时预测任务的梯度噪声较小,因为它不受策略随机性或自举误差的影响。有了奖励,代理任务的准确性将与策略改进的程度密切相关。 24 | 25 | #### Dynamics and Inverse Dynamics 26 | 27 | 这些任务的代理标签从转换中捕获状态,动作和后继 $$(s,a,s')$$ 关系。 即便是单一的转移也会影响动力学(后继者)和反动力学(行动)的损失。 损失不需要形成转移模型,简单的代理就足以帮助调整“表示”。 时间自我监督的难度可以通过时间步长的跨度和步幅来调整。 28 | 29 | 通过识别状态继承者 $$(s,s')$$ 是否来自环境,Dynamics可以被转换为验证任务。我们的自我监督的动态验证任务是从 $$t_0$$ 到 $$t_k$$ 中识别出被破坏的观察结果 $$O_{t_{c}}$$ ,其中破坏的规则为交换 $$O_{t_{c}}$$和$$O_{t^{\prime}}$$ $$t^{\prime} \notin\left\{t_{0}, \dots, t_{k}\right\}$$ 。 30 | 31 | Inverse dynamics,即映射 $$\mathcal{S} \times \mathcal{S} \rightarrow \mathcal{A}$$ ,我们的自我监督逆动力学任务是推断观察历史的干预行为。 32 | 33 | #### Reconstruction 34 | 35 | 用于重建的代理标签简单的等同与输入和输出之间的距离损失。可以用VAE或者GAN实现。 36 | 37 | 在我们的方法中,自我监督的目的是代表性学习,而不是动态和回报的完整建模。 如这些代理任务所示,代理注释不需要直接预测转换和后退功能。 预计辅助损失将给予梯度,而不一定提供基于模型的生成模型RL。 虽然建模可能难以处理,但梯度可能足以改善强化学习。 38 | 39 | ### Loss as Intrinsic Reward 40 | 41 | 内在奖励旨在支持技能学习,帮助探索,或以其他方式指导政策改进。奖励将新颖性,好奇心和能力正式化,重点是学习进步和预测错误。自我监督的损失可以作为这种内在的回报,同时通过梯度调整表现来指导策略。 42 | 43 | 自我监督的内在回报可能导致策略转向更开放和更无知的探索状态。跟随损失可以访问仍然需要学习的转移,直到他们学习,然后继续前进。为了确保进步,回报学习进步可能是至关重要的,而不是绝对的损失。 44 | 45 | ## 实验 46 | 47 | ![](../../.gitbook/assets/image-99.png) 48 | 49 | ![](../../.gitbook/assets/image-89.png) 50 | 51 | ![](../../.gitbook/assets/image-30.png) 52 | 53 | -------------------------------------------------------------------------------- /fang-fa/ment-te-zu-ma-de-fu-chou/hierarchical-dqn.md: -------------------------------------------------------------------------------- 1 | # Hierarchical-DQN 2 | 3 | > [Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motivation](https://arxiv.org/abs/1604.06057) 4 | 5 | 稀疏反馈环境下的学习目标导向行为是增强学习算法面临的主要挑战。主要的困难是由于探索不够,导致代理无法学习健壮的值函数。具有内在动机的代理可以为了自身的利益而探索新的行为,而不是直接解决问题。这样的内在行为最终可以帮助代理解决环境设置的任务。提出了一种基于层次结构的dqn \(h-DQN\)框架,该框架集成了不同时间尺度下的层次值函数,具有内在的深层强化学习动机。高层值函数学习策略而不是内在目标,底层函数学习满足给定目标的原子操作。h-DQN允许灵活的目标规范,例如实体和关系上的函数。这为复杂环境中的探索提供了有效的空间。我们证明了我们的方法在两个非常稀疏、延迟反馈的问题上的优势:\(1\)一个复杂的离散随机决策过程,和\(2\)经典的ATARI游戏Montezuma的复仇。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image%20%2899%29.png) 10 | 11 | ![](../../.gitbook/assets/image%20%28186%29.png) 12 | 13 | ### Agents 14 | 15 | 我们使用temporal abstraction of options来定义每个目标的策略。 这些代理同时学习这些option策略,同时学习最佳的目标序列。 为了使每个 $$π_g$$ 学习目标 $$g$$ ,代理人还有一个批评者,根据代理人是否能够实现其目标,提供内在的激励信号。 16 | 17 | ### Temporal Abstractions 18 | 19 | 代理人使用由controlle和meta-controller组成的两阶段层次结构。 元控制器接收状态 $$s_{t}$$ 选择一个目标 $$g_{\iota} \in \mathcal{G}$$ ,其中 $$\mathcal{G}$$ 表示有可能的当前目标的集合。目标将在接下来的几个步骤中保持不变,直到达到目标或达到最终状态。内部批评家负责评估目标是否已经达到,并提供适当的奖励。同样,元控制器的目标是优化累积的外在奖励。 20 | 21 | ### Deep Reinforcement Learning with Temporal Abstractions 22 | 23 | 用深度强化学习来学习这些策略 24 | 25 | controller 26 | 27 | ![](../../.gitbook/assets/image%20%28120%29.png) 28 | 29 | meta-controller 30 | 31 | ![](../../.gitbook/assets/image%20%28165%29.png) 32 | 33 | 然后用类似TD的算法学习 34 | 35 | ![](../../.gitbook/assets/image%20%28131%29.png) 36 | 37 | ### 伪代码 38 | 39 | ![](../../.gitbook/assets/image%20%28143%29.png) 40 | 41 | ## 实验 42 | 43 | ![](../../.gitbook/assets/image%20%2891%29.png) 44 | 45 | 代理需要内在的动机去探索场景中有意义的部分,然后才能了解为自己获取钥匙的好处。受developmental psychology literature和面向对象MDP的启发,我们用场景中的entities 或者 objects来参数化环境中的目标。尽管近年来直接从图像或运动数据中获取目标的研究取得了一定的进展,但在计算机视觉中,对视觉场景中目标的无监督检测一直是一个悬而未决的问题。在这项工作中,我们构建了一个定制的对象检测器,它提供了可信的对象候选者。 46 | 47 | 内部批评者在 $$\left\langle\text {entity}_{1}, \text { relation, entity }_{2}\right\rangle$$ 的空间中定义,其中relation是实体上的的配置。在我们的实验中,代理可以自由选择任何entity2。 例如,如果代理人到达诸如门之类的其他实体,则认为代理人已经完成了目标(并且接收了回报)。 48 | 49 | ![](../../.gitbook/assets/image%20%28112%29.png) 50 | 51 | -------------------------------------------------------------------------------- /fang-fa/ment-te-zu-ma-de-fu-chou/dqfd.md: -------------------------------------------------------------------------------- 1 | # DQfD 2 | 3 | > [Deep Q-learning from Demonstrations](https://arxiv.org/pdf/1704.03732.pdf) 4 | 5 | 深度强化学习在困难的决策问题上取得了一些引人注目的成功。然而,这些算法在达到合理的性能之前通常需要大量的数据。事实上,他们在学习中的表现可能非常差。这对于模拟器来说可能是可以接受的,但是它严重限制了深度学习在许多现实世界任务中的应用,其中代理必须在真实环境中学习。在本文中,我们研究了代理可以从系统的先前控制中访问数据的设置。我们提出了一种算法,深度Q -从演示中学习\( DQfD \),它利用少量演示数据来大规模加速学习过程,即使是从相对少量的演示数据中,也能够在学习的同时自动评估演示数据的必要比率,这得益于优先级重放机制。DQfD的工作原理是将时间差异更新与守护者行为的监督分类相结合。 我们证明DQfD具有比优先决定双深度Q网络(PDD DQN)更好的初始性能,因为它在42场比赛中的41场比赛中获得了更高的分数,并且平均需要PDD DQN8300万步才能赶上 DQfD的表现。此外,DQfD利用人类的表现来实现11场比赛的最新成绩。 最后,我们证明了DQfD比三个相关的算法表现更好,可以将演示数据合并到DQN中。 6 | 7 | 监督损失使算法能够学习模仿演示者,而TD损失使算法能够学习自洽的值函数,从而能够继续学习RL。经过预训练后,代理开始用其学习到的策略与域交互。代理通过演示和自生成数据的混合来更新网络。实际上,在学习过程中选择演示数据和自生成数据的比例对于提高算法的性能至关重要。我们的一个贡献是使用优先重播机制来自动控制这种比率。 8 | 9 | ## 方法 10 | 11 | 监督损失对于预训练产生任何效果至关重要。由于演示数据必然覆盖了状态空间的一个狭窄部分,并且没有采取所有可能的动作,因此从未采取过许多状态动作,也没有数据来使它们符合实际值。如果我们对网络进行预训练,只对下一个状态的最大值进行问学习更新,网络将向这些无根据的变量中的最高值更新,并且网络将通过问函数传播这些值。我们增加了large margin classification loss: 12 | 13 | $$ 14 | J_{E}(Q)=\max _{a \in A}\left[Q(s, a)+l\left(a_{E}, a\right)\right]-Q\left(s, a_{E}\right) 15 | $$ 16 | 17 | 其中 $$a_{E}$$ 是演示数据选择的动作, $$l\left(a_{E}, a\right)$$ 是margin function(相等时为0,其它为正),这种损失迫使其他行为的价值至少比演示者行为的价值低一个限度。将这种损失加在一起,使得看不见的行为的价值成为合理的价值,并使价值函数所诱导的贪婪政策模仿决策者。如果算法仅用这种普遍的损失进行预训练,则不会有任何约束连续状态之间的值,并且Q网络不会满足贝尔曼方程,而贝尔曼方程是通过TD学习在线改进策略所必需的。 18 | 19 | 加上 n-step return 20 | 21 | $$ 22 | r_{t}+\gamma \tau_{t+1}+\ldots+\gamma^{n-1} r_{t+n-1}+\max _{a} \gamma^{n} Q\left(s_{t+n}, a\right) 23 | $$ 24 | 25 | 再加上L2正则化损失得到联合损失函数 26 | 27 | $$J(Q)=J_{D Q}(Q)+\lambda_{1} J_{n}(Q)+\lambda_{2} J_{E}(Q)+\lambda_{3} J_{L 2}(Q)$$ 28 | 29 | 一旦预训练阶段完成,代理就开始在系统上进行操作,收集自己生成的数据,并将其添加到重放缓冲区中。数据被添加到播放缓冲区,直到它满了,然后代理开始在该缓冲区中重写旧数据。然而,代理从不重写演示数据。对于比例优先采样,不同的小的正常量 $$\epsilon_{a}$$和$$\epsilon_{d}$$ 被添加到代理和演示转换的优先级中,以控制演示与代理数据的相对采样。所有损失都应用于两个阶段的演示数据,而监督损失不应用于自行生成的数据。 30 | 31 | ### 伪代码 32 | 33 | ![](../../.gitbook/assets/image%20%2862%29.png) 34 | 35 | ## 实验 36 | 37 | ![](../../.gitbook/assets/image%20%2897%29.png) 38 | 39 | ![](../../.gitbook/assets/image%20%28113%29.png) 40 | 41 | ![](../../.gitbook/assets/image%20%28159%29.png) 42 | 43 | -------------------------------------------------------------------------------- /fang-fa/di-yi-ren-cheng-she-ji-you-xi/dqn-with-slam.md: -------------------------------------------------------------------------------- 1 | # SLAM-Augmented DQN 2 | 3 | > [Playing Doom with SLAM-Augmented Deep Reinforcement Learning](https://arxiv.org/pdf/1612.00380.pdf) 4 | 5 | 最近在2D游戏中进行策略学习的一些方法已经成功地直接从输入图像到动作。然而,当采用不复杂的3D环境时,它们通常会遇到与部分可观察性,组合探索空间,路径规划以及奖励方案稀缺相关的挑战。从先前的人类认知工作中汲取经验,这表明人类如何运用各种语义概念和抽象(对象类别,本地化等)来推理世界,我们建立了一个代理模型,将这种抽象结合到其策略学习框架中。我们通过添加所遇到的对象和结构元素的细节,以及代理的定位,来增加对深度问题学习网络\( DQN \)的原始图像输入。利用动态目标检测和三维场景重建,将不同的组件自动提取并组成拓扑表示。我们在《毁灭战士》中评估了我们的方法的有效性,这是一个三维的第一人称战斗游戏,展示了所讨论的许多挑战,并表明我们的增强框架不断地学习更好、更有效的策略。 6 | 7 | ## 方法 8 | 9 | ### Simultaneous Localization and Mapping 10 | 11 | SLAM(Simultaneous Localization and Mapping),同步定位与地图构建,最早在机器人领域提出,它指的是:机器人从未知环境的未知地点出发,在运动过程中通过重复观测到的环境特征定位自身位置和姿态,再根据自身位置构建周围环境的增量式地图,从而达到同时定位和地图构建的目的。 12 | 13 | 通俗的来讲,SLAM回答两个问题:“我在哪儿?”“我周围是什么?”,就如同人到了一个陌生环境中一样,SLAM试图要解决的就是恢复出观察者自身和周围环境的相对空间关系,“我在哪儿”对应的就是定位问题,而“我周围是什么”对应的就是建图问题,给出周围环境的一个描述。回答了这两个问题,其实就完成了对自身和周边环境的空间认知。有了这个基础,就可以进行路径规划去达要去的目的地,在此过程中还需要及时的检测躲避遇到的障碍物,保证运行安全。 14 | 15 | [视觉SLAM14讲](https://www.bilibili.com/video/av19397094?from=search&seid=4257257031966068730) 16 | 17 | ### Object detection 18 | 19 | 如图\(b\)即目标检测,神经网络需预测目标的类型以及所在区域。 20 | 21 | ![](../../.gitbook/assets/image%20%283%29.png) 22 | 23 | [目标检测](https://github.com/hijkzzz/deep-learning/blob/master/juan-ji-wang-luo/mu-biao-jian-ce/README.md) 24 | 25 | ### Semantic Mapping 26 | 27 | 我们通过添加关于所遇到的对象和结构元素的细节,以及代理的本地化来处理复杂的3D环境,从而增加DQN的第一人称原始图像输入数据。 28 | 29 | 这是一个二维地图\(自上而下的视图\),编码三个不同的信息源: 1 \)静态结构和障碍物的位置,如墙壁,2 \)代理的位置和方向,3 \)重要物体的位置和类别标签,如医疗包、武器和敌人。 30 | 31 | ![](../../.gitbook/assets/image%20%289%29.png) 32 | 33 | 当探测器探索环境时,我们同时估计探测器和障碍物(例如墙壁)的定位,以便从每个帧的第一人称视角构建周围3D环境的地图。 同时,我们检测场景中的重要物体,如武器和弹药。 并且由于我们希望最小化增强代表的维度以允许更有效的学习,我们将所有语义信息投影到具有固定大小的单个公共2D地图上。 基本上是一个“平面图”,其中包含对象和代理的位置。 这是通过以热图的形式通过不同的灰度值对不同的性质进行编码来实现的。 34 | 35 | 我们还希望提供有关环境中存在的各种对象的代理语义信息。 对于毁灭战士,我们编码以下五个对象类别:怪物(红色),医疗包(紫色),高级武器(紫色),高级弹药(蓝色),其他武器和其他弹药(黄色) 。 36 | 37 | ### Recognition and Reconstruction 38 | 39 | ![](../../.gitbook/assets/image%20%28149%29.png) 40 | 41 | 一旦我们有了相机姿势和一个物体蒙版深度图,我们就可以在地图上投影当前帧。 42 | 43 | ## 测试 44 | 45 | ![](../../.gitbook/assets/image%20%28150%29.png) 46 | 47 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/double-deep-q-learning.md: -------------------------------------------------------------------------------- 1 | # Double DQN 2 | 3 | > [Deep Reinforcement Learning with Double Q-learning](https://arxiv.org/pdf/1509.06461.pdf) 4 | 5 | 众所周知,流行的Q-learning算法会过估计某些条件下的动作值。在实践中,这种过高估计是否普遍存在,是否会损害性能,是否能够从根本上加以预防,这些都是人们以前所不知道的。在这篇论文中,我们肯定地回答了所有这些问题。特别地,我们首先展示了现有的DQN算法,它将Q-learning与adeep神经网络相结合,在雅达利2600领域的一些游戏中存在严重的过估计。然后,我们展示了双Q学习算法背后的思想,它是在表格中介绍的,可以推广到大规模函数逼近。我们对DQN算法提出了一种特殊的适应方法,结果表明算法不仅减少了所观察到的过估计,正如假设的那样,而且这也在了几款游戏的带来了更好性能。 6 | 7 | ## 方法 8 | 9 | ### 双Q学习 10 | 11 | 最优贝尔曼方程 12 | 13 | $$Y_{t}^{\mathrm{Q}} \equiv R_{t+1}+\gamma \max _{a} Q\left(S_{t+1}, a ; \boldsymbol{\theta}_{t}\right)$$ 14 | 15 | 上式中的最大运算符使用相同的值来选择和评估动作。这使得选择过度估计的值的可能性更大,从而导致过于乐观的值估计。为了阻止这一点,我们可以将选择从评估中分离出来。这就是Double Q-Learning背后的思想。 16 | 17 | 在原始的双Q学习算法中,通过将经验样本随意分配给两个Q网络中的一个,训练得到两组权重θ和θ'。 对于每次更新,一组权重用于确定贪婪策略,另一组用于确定其值。 为了进行清晰的比较,我们可以首先分离Q学习中的选择和评估过程,并将其目标写为 18 | 19 | $$Y_{t}^{\mathrm{Q}}=R_{t+1}+\gamma Q\left(S_{t+1}, \underset{a}{\operatorname{argmax}} Q\left(S_{t+1}, a ; \boldsymbol{\theta}_{t}\right) ; \boldsymbol{\theta}_{t}\right)$$ 20 | 21 | 然后可以将Double Q-learning训练误差写为 22 | 23 | $$Y_{t}^{\text { Double } Q} \equiv R_{t+1}+\gamma Q\left(S_{t+1}, \operatorname{argmax} Q\left(S_{t+1}, a ; \boldsymbol{\theta}_{t}\right) ; \boldsymbol{\theta}_{t}^{\prime}\right)$$ 24 | 25 | 请注意,在 $$argmax$$ 中,动作是根据在线权重$$θ_t$$选择的。这意味着,与Q学习一样,我们仍然根据 $$θ_t$$ 定义的值来估计贪婪策略的值。然而,我们使用第二组权重 $$θ′$$ 来公平地评估该策略的值。通过切换θ和θ的角色,可以对称地更新第二组权重。 26 | 27 | ### 由于估计误差导致的过度乐观 28 | 29 | ![](../../.gitbook/assets/image-103.png) 30 | 31 | 请注意,我们不需要假设不同动作的估计误差是独立的。这个定理表明,即使估计值平均正确,任何的估计误差都可以推动估计值远离真正的最优值。 32 | 33 | 定理1的下界随着动作的数量而减少, 这是考虑下限的假象。更典型的是,过度乐观随着动作的数量而增加,如图1所示。 34 | 35 | ![](../../.gitbook/assets/image-66.png) 36 | 37 | Q学习的过估计的确会随着行动的增多而增加,而双Q学习是不偏不倚的。 38 | 39 | ![](../../.gitbook/assets/image-58.png) 40 | 41 | ![](../../.gitbook/assets/image-16.png) 42 | 43 | ### Double DQN 44 | 45 | $$Y_{t}^{\text { DoubleDQN } } \equiv R_{t+1}+\gamma Q\left(S_{t+1}, \operatorname{argmax}_{a} Q\left(S_{t+1}, a ; \boldsymbol{\theta}_{t}\right), \boldsymbol{\theta}_{t}^{-}\right)$$ 46 | 47 | 与Double Q-learning相比,第二个网络的权重被替换为target网络的权重 $$θ_t$$ ,用于评估当前的贪婪策略。 目标网络的更新与DQN保持不变,并且仍然是当前网络的定期副本。 48 | 49 | -------------------------------------------------------------------------------- /fang-fa/jing-su-you-xi/deep-driving.md: -------------------------------------------------------------------------------- 1 | # Direct Perception 2 | 3 | > [DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving](https://arxiv.org/pdf/1505.00256.pdf) 4 | 5 | 今天,基于视觉的自主驾驶系统有两种主要范例:间接感知方法,解析整个场景以制定驾驶决策,行为反射方法直接将输入图像映射到回归者的驾驶行为。 在本文中,我们提出了第三种范式:直接感知方法来估计驾驶能力。 6 | 7 | 我们建议将输入图像映射到与驾驶道路/交通状态的可供性直接相关的少量关键感知指标。我们的表示提供了一组完整但完整的场景描述,使一个简单的控制器能够自动驾驶。 介于感知和行为反射的两个极端之间,我们认为我们的直接感知表示提供了正确的抽象层次。为了证明这一点,我们使用视频游戏中12个小时的人类驾驶记录训练了一个深度卷积神经网络,并展示了我们的模型可以很好地在各种各样的虚拟环境中驾驶汽车。我们还在KITTI数据集上训练了一个车距估计模型。 结果表明,直接感知方法可以很好地推广到真实的图像。 源代码和数据可在我们的项目网站上找到。 8 | 9 | ![](../../.gitbook/assets/image%20%2846%29.png) 10 | 11 | ## 方法 12 | 13 | 当今大多数工业自主驾驶系统都是基于中介感知方法。在计算机视觉中,研究人员分别研究了每项任务。汽车检测和车道检测是自主驾驶系统的两个关键要素。典型算法输出检测到的汽车上的边界框和检测到的车道标记上的样条曲线。然而,这些边界框和样条不是我们用于驾驶的直接启示信息。因此,需要进行转换,这可能会导致额外的噪声。典型的车道检测算法,例如中提出的算法,都存在错误检测。具有刚性边界的结构(例如高速公路护栏或沥青表面裂缝)可能被错误识别为车道标记。即使车道检测结果良好,车辆定位的关键信息也可能丢失。例如,假设通常只能可靠地检测到两条车道标志,就很难确定一辆汽车是在双车道公路的左车道还是右车道上行驶。 14 | 15 | ### Learning affordance for driving perception 16 | 17 | 为了有效地实现和测试我们的方法,我们使用了开源驱动游戏TORCS \(开放赛车模拟器\),它被广泛用于人工智能研究。我们可以收集驾驶的关键指标,如主机车的速度,主机车相对于公路中心线的距离,前车的距离。在训练阶段,我们在游戏中手动驾驶一辆“标签收集车”来收集截屏\(第一个人驾驶视图\)和所选启示指示器的相应地面真实值。这些数据被存储起来,并用于训练一个模型,以一种监督学习方式估计可用性。在测试阶段,在每个时间步,训练模型从游戏中获取驾驶场景图像并估计驾驶的可供性指标。 18 | 19 | ### Mapping from an image to affordance 20 | 21 | 我们使用最先进的深度学习网络作为我们的直接感知模型,将图像映射到启示指示器。在本文中,我们专注于多车道的高速公路驾驶。从自我中心的角度来看,主机车辆在做出决策时只需要关注其当前车道和两个相邻(左/右)车道的交通。因此,我们只需要模拟这三条车道。我们使用一个单一的ConvNet来处理三个车道的配置:一个车道、两个车道或三个车道的道路。 22 | 23 | ![](../../.gitbook/assets/image%20%28155%29.png) 24 | 25 | 高速公路驾驶行为可以分为两种主要类型:1)跟随车道中心线,2)变换车道或减速以避免与前车相撞。为了支持这些动作,我们将系统定义为在两个坐标系下有两组表示:“车道系统”和“标记系统”。为了实现车道感知和汽车感知这两个主要功能,我们提出了三种类型的指标来表示驾驶情况:航向角、到附近车道标志的距离和到前面汽车的距离。总的来说,我们提出了13个指标作为我们的驾驶场景表示,如图3所示。图4列举了指示的完整列表。 26 | 27 | ![](../../.gitbook/assets/image%20%28176%29.png) 28 | 29 | “车道内系统”和“标记系统”在不同条件下被激活。 为了实现平滑的转换,我们定义了一个重叠区域,其中两个系统都是活动的。 布局如图3f所示。 30 | 31 | ### Mapping from affordance to action 32 | 33 | 使用汽车的位置和姿势计算转向控制,目标是最小化汽车当前位置和车道中心线之间的间隙。将dist\_center定义为到车道中心线的距离: 34 | 35 | ![](../../.gitbook/assets/image%20%28132%29.png) 36 | 37 | 如果汽车在转动,则根据过去的几个转向角计算出所需的速度。 如果存在先前的卡林近距离并且做出减速决定,则所需的速度也取决于到前车的距离。为了实现这种情况下的跟车行为,我们实施了最佳速度跟车模型: 38 | 39 | ![](../../.gitbook/assets/image%20%28129%29.png) 40 | 41 | ![](../../.gitbook/assets/image%20%2833%29.png) 42 | 43 | ## 测试 44 | 45 | ### 系统架构 46 | 47 | ![](../../.gitbook/assets/image%20%28117%29.png) 48 | 49 | 我们的系统可以在TORCS中很好地驾驶,没有任何碰撞。在某些车道变换的情况下,控制器可能会稍微过冲,但它会很快恢复到目标车道中心的所需位置。 50 | 51 | -------------------------------------------------------------------------------- /fang-fa/di-yi-ren-cheng-she-ji-you-xi/direct-future-prediction.md: -------------------------------------------------------------------------------- 1 | # Direct Future Prediction 2 | 3 | > [LEARNING TOACT BYPREDICTING THEFUTURE](https://arxiv.org/pdf/1611.01779.pdf) 4 | 5 | 我们提出了一种沉浸式环境中感觉运动控制的方法。我们的方法利用高维感应流和低维测量流。这些流的同时结构提供了丰富的监控信号,可以通过与环境相互作用来训练感觉运动控制模型。该模型使用监督学习技术进行培训,但没有外部监督。它学会在一个复杂的三维环境中,根据原始的感觉输入采取行动。所提出的公式使得学习在训练时没有固定的目标,而在测试时追求动态变化的目标。我们基于经典的第一人称游戏Doom在三维模拟中进行了大量实验。结果表明,所提出的方法优于复杂的先验公式,特别是在具有挑战性的任务上。他的结果还表明,训练模型成功地在环境和目标中推广。使用这种方法训练的模型赢得了Visual Doom AI Competition 中的 Full Deathmatch track,并且是在以前从未见过的环境中。 6 | 7 | ## 方法 8 | 9 | ### Model 10 | 11 | 在本方法中观察状态可以分为两个变量: $$\mathbf{o}_{t}=\left\langle\mathbf{s}_{t}, \mathbf{m}_{t}\right\rangle$$ ,其中 $$s_t$$ 是原始的图像输入, $$m_t$$ 是一些测量指标,如子弹数、血量。 不同的未来状态与当前测量的差分可以表示为: $$\mathbf{f}=\left\langle\mathbf{m}_{t+\tau_{1}}-\mathbf{m}_{t}, \dots, \mathbf{m}_{t+\tau_{n}}-\mathbf{m}_{t}\right\rangle$$ 。设任何目标 $$g$$可以用函数 $$u(\mathbf{f} ; \mathbf{g})$$ 表达: 12 | 13 | $$ 14 | u(\mathbf{f} ; \mathbf{g})=\mathbf{g}^{\top} \mathbf{f} 15 | $$ 16 | 17 | 目标即不同测量指标的权重,如生命值权重为1,其它为0.5。 18 | 19 | 为了预测未来的测量值,我们使用一个函数近似: 20 | 21 | $$ 22 | \mathbf{p}_{t}^{a}=F\left(\mathbf{o}_{t}, a, \mathbf{g} ; \boldsymbol{\theta}\right) 23 | $$ 24 | 25 | 然后选择函数 $$u$$ 最大的动作执行: 26 | 27 | $$ 28 | a_{t}=\underset{a \in \mathcal{A}}{\arg \max } \mathbf{g}^{\top} F\left(\mathbf{o}_{t}, a, \mathbf{g} ; \boldsymbol{\theta}\right) 29 | $$ 30 | 31 | 很显然,这里的测量值就类似于标准强化学习里面的回报 32 | 33 | #### Training 34 | 35 | 目标函数被定义为: 36 | 37 | $$ 38 | \mathcal{L}(\boldsymbol{\theta})=\sum_{i=1}^{N}\left\|F\left(\mathbf{o}_{i}, a_{i}, \mathbf{g}_{i} ; \boldsymbol{\theta}\right)-\mathbf{f}_{i}\right\|^{2} 39 | $$ 40 | 41 | 我们评估了两种训练方法: 42 | 43 | * 单一目标:目标向量在整个训练过程中是固定的 44 | * 随机目标:每集的目标向量是随机生成的 45 | 46 | ### ARCHITECTURE 47 | 48 | ![](../../.gitbook/assets/image%20%28185%29.png) 49 | 50 | 这里使用了类似于Dueling的网络结构,首先通过卷积网络、全连接网络得到 $$s, m, g$$ 。然后预测一个 $$E$$ 51 | 52 | 作为未来测量值的期望, $$A$$ 为动作优势值,并且归一化成均值0。这样做的好处是让网络更容易学习预测,可以参考Dueling DQN。 53 | 54 | $$ 55 | \overline{A^{i}}(\mathbf{j})=A^{i}(\mathbf{j})-\frac{1}{w} \sum_{k=1}^{w} A^{k}(\mathbf{j}) 56 | $$ 57 | 58 | $$ 59 | \mathbf{p}=\left\langle\mathbf{p}^{a_{1}}, \ldots, \mathbf{p}^{a_{w}}\right\rangle=\left\langle\overline{A^{1}}(\mathbf{j})+E(\mathbf{j}), \ldots, \overline{A^{w}}(\mathbf{j})+E(\mathbf{j})\right\rangle 60 | $$ 61 | 62 | ## 实验 63 | 64 | ### 固定场景 65 | 66 | ![](../../.gitbook/assets/image%20%28102%29.png) 67 | 68 | ![](../../.gitbook/assets/image%20%28116%29.png) 69 | 70 | ### 与目标无关的训练 71 | 72 | ![](../../.gitbook/assets/image%20%28109%29.png) 73 | 74 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/bic-net.md: -------------------------------------------------------------------------------- 1 | # BiC-Net 2 | 3 | > [Multiagent Bidirectionally-Coordinated Network](https://arxiv.org/abs/1703.10069) 4 | 5 | 许多人工智能应用通常需要多个智能代理协同工作。智能体内部交流和协调的有效学习是实现通用人工智能不可或缺的一步。在本文中,我们以星际争霸战斗游戏为例,其任务是协调多个代理作为一个团队来打败他们的敌人。为了维护一个可扩展但有效的通信协议,我们引入了一个多智能体双向协调网络\(BiCNet\['bIknet\]\),它具有行为者-批评者表述的矢量扩展。我们表明,BiCNet可以处理不同类型的战斗,双方都有任意数量的AI代理。我们的分析表明,没有任何监督,如人类演示或标记数据,BiCNet可以学习各种类型的高级协调策略,这些策略已被经验丰富的游戏玩家普遍使用。在我们的实验中,我们根据不同场景下的多个基线评估我们的方法;它显示了最先进的性能,并具有大规模实际应用的潜力。 6 | 7 | ## 方法 8 | 9 | ### StartCraft Combat as Stochastic Games 10 | 11 | 回报函数可以定义为我方平均血量和对方平均血量的差 12 | 13 | ![](../../.gitbook/assets/image%20%2874%29.png) 14 | 15 | 于是求解Q函数可以定义为一个极大极小问题 16 | 17 | ![](../../.gitbook/assets/image%20%28177%29.png) 18 | 19 | 为了简化问题,我们只考虑极大 20 | 21 | ![](../../.gitbook/assets/image%20%2892%29.png) 22 | 23 | ### Local, Individual Rewards 24 | 25 | 只考虑整体的回报显然无法有效分配信用,所以考虑每个单位自己的回报,即与该单位接触的top-k个单位的血量之差 26 | 27 | ![](../../.gitbook/assets/image%20%28124%29.png) 28 | 29 | ### Communication w/ Bidirectional Backpropagation 30 | 31 | 我们需要一种机制来实现多智能体的通信/协同训练,于是有了Bic-Net这种网络结构: 32 | 33 | ![](../../.gitbook/assets/image%20%2828%29.png) 34 | 35 | 策略网络与本地视图一起接受共享观察,返回单个代理的操作。 由于双向复现结构不仅可以作为通信渠道,还可以作为本地存储器,每个代理人都能够维持自己的内部状态,并与合作者共享信息。 36 | 37 | 对于BiCNet的学习,直观地说,我们可以考虑通过展开网络长度N(受控代理的数量)然后通过时间应用反向传播来计算后向梯度(BPTT)。 38 | 39 | 梯度同时传递给每个 $$Q_{i}$$ 函数和策略函数。它们是从所有代理和他们的动作中聚集起来的。换句话说,首先传播来自所有代理商奖励的梯度以影响每个代理商的活动,并且得到的梯度进一步传播回更新参数。 40 | 41 | 令 $$J_{i}(\theta)=\mathbb{E}_{\mathbf{s} \sim \rho_{a_{\theta}}^{T}}\left[r_{i}\left(\mathbf{s}, \mathbf{a}_{\theta}(\mathbf{s})\right)\right]$$ 为每个单位的最大化目标,其中 $$\rho_{\mathbf{a}_{o}}^{\mathcal{T}}(\mathbf{s})$$ 对应于策略的折扣状态分布,如 $$\rho_{\mathbf{a}_{\theta}}^{\mathcal{T}}(\mathbf{s}) :=\int_{\mathcal{S}} \sum_{t=1}^{\infty} \lambda^{\iota-1} p_{1}(\mathbf{s}) \mathbb{1}\left(\mathbf{s}^{\prime}=\mathcal{T}_{\mathbf{a}_{\theta}, \mathbf{b}_{\phi}}^{1}(\mathbf{s})\right) \mathrm{d} \mathbf{s}$$ ,它也可以作为遍历MDP的平稳分布。所以整体的目标函数为: 42 | 43 | ![](../../.gitbook/assets/image%20%2812%29.png) 44 | 45 | #### Theorem 1 \(Multiagent Deterministic PG Theorem\) 46 | 47 | 接下来,我们将一个多智能体引入确定性策略梯度定理: 48 | 49 | ![](../../.gitbook/assets/image%20%28188%29.png) 50 | 51 | 为了确保充分的探索,我们应用Ornstein-Uhlenbeck过程在每个时间步骤中增加行动网络输出的噪声。在这里,我们进一步考虑了off-policy确定性的行动者-批评者算法\(Lillicrap等人\)来降低方差。在训练Critic时,我们使用平方损失的总和并对参数化的Critic$$Q^{\xi}(\mathbf{s}, \mathbf{a})$$具有以下梯度 。 52 | 53 | ![](../../.gitbook/assets/image%20%28168%29.png) 54 | 55 | BiCNet与贪婪的MDP明显不同,代理的依赖性嵌入在潜在的层面,而不是直接在行动中。 56 | 57 | ## 实验 58 | 59 | ![](../../.gitbook/assets/image%20%28119%29.png) 60 | 61 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/unreal.md: -------------------------------------------------------------------------------- 1 | # UNREAL 2 | 3 | > [Reinforcement Learning with Unsupervised Auxiliary Tasks](https://arxiv.org/pdf/1611.05397) 4 | 5 | 深度强化学习代理通过直接最大化累积奖励获得了最先进的结果。然而,环境包含了更广泛的各种可能的训练信号。在这篇文章中,我们介绍了一个代理,它能同时通过强化学习最大化许多其他伪奖励函数。所有这些任务都有一个共同的表现形式,就像无监督学习一样,在没有外部奖励的情况下继续发展。我们还引入了一种新的机制,将这种表现集中在外在奖励上,这样学习就可以快速适应与实际任务最相关的方面。我们的代理在Atari上的表现明显优于之前的先进水平,平均880 %的专家人工表现,以及一系列具有挑战性的第一人称三维迷宫任务,速度提高10倍,平均达到87 %的人工表现。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image-50.png) 10 | 11 | ### AUXILIARY CONTROL TASKS 12 | 13 | 给定一组辅助控制任务 $$C$$ , $$π_(c)$$ 是每个辅助任务的代理策略 $$c \in \mathcal{C}$$ , $$π$$ 是代理对基础任务的策略。 总体目标是在所有这些辅助任务中最大化总体性能。 14 | 15 | $$\underset{\theta}{\arg \max } \mathbb{E}_{\pi}\left[R_{1 : \infty}\right]+\lambda_{c} \sum_{c \in C} \mathbb{E}_{\pi_{c}}\left[R_{1 : \infty}^{(c)}\right]$$ 16 | 17 | 原则上为了同时学习多个辅助任务,应用off-policy,对于每个辅助任务都有一个单独的的损失函数 18 | 19 | $$\mathbb{E}\left[\left(R_{t : t+n}+\gamma^{n} \max _{a^{\prime}} Q^{(c)}\left(s^{\prime}, a^{\prime}, \theta^{-}\right)-Q^{(c)}(s, a, \theta)\right)^{2}\right]$$ 20 | 21 | 辅助回报函数如下: 22 | 23 | * Pixel changes - 感知流的变化通常对应于环境中的重要事件。我们训练代理人学习一个单独的策略,最大限度地改变输入图像上的 $$n \times n$$ 非重叠网格的每个单元中的像素。 24 | * Network features - 因为代理的策略或价值网络学会提取环境中与任务相关的高级特征。它们可能是代理学习控制的有用量。因此,激活代理神经网络的任何隐藏单元本身都可以是一种辅助奖励。我们训练代理,学习一个单独的策略,最大限度地激活特定隐藏层中的每个单元。 25 | 26 | 整体架构如图一所示 27 | 28 | ### AUXILIARY REWARD TASKS 29 | 30 | 在许多有趣的环境中,奖励非常稀疏,这意味着可能需要很长时间来训练擅长识别表示奖励开始的状态的特征提取器。 我们希望消除奖励和奖励状态的感性稀疏性,以帮助代理人的培训,但这样做的方式不会给代理人的策略带来偏差。 31 | 32 | 我们引入了前向预测的辅助任务 - reward prediction,在一些历史上下文下预测中间奖励。 该任务包括处理一系列连续观察,并要求代理预测在随后的帧中获得的奖励。 这类似于立即奖励(γ= 0)的价值学习。 33 | 34 | ### EXPERIENCE REPLAY 35 | 36 | 除了奖励预测之外,我们还使用重放缓冲器来执行value function replay。这相当于从行为策略分布重新采样最近的历史序列并且除了在策略值函数回归A3C之外执行额外值函数回归。 通过重新采样先前的经验,并随机改变计算n步返回的截断窗口的时间位置,值函数重放执行估值并利用由奖励预测形成的新发现的特征。 我们不会歪曲这种情况的分布 37 | 38 | 经验回放也用于提高辅助控制任务的效率和稳定性。Q学习更新被应用于从重放缓冲器中抽取的采样体验,允许极其有效地开发特性。 39 | 40 | ### UNREAL AGENT 41 | 42 | 该算法结合了两种独立的、最先进的方法的优点,用于深度强化学习。主要策略由A3C训练。它从并行的经验流中学习,以获得效率和稳定性;使用策略评估方法在线更新;它使用递归神经网络来编码完整的经验历史。这允许代理在部分观察到的环境中有效地学习。 43 | 44 | 辅助任务是根据最近存储和随机采样的经验序列进行训练的; 这些序列可以优先考虑(在我们的例子中,根据立即奖励排序); 通过Q学习对这些目标进行off-policy训练; 他们可能会使用更简单的前端架构。 这允许以最高效率训练表示。 45 | 46 | UNREAL算法针对代理的联合参数 $$θ$$ 优化单个组合损失函数,其将A3C损失 $$L_{A3C}$$ 与辅助控制损失 $$L_{PC}$$ ,辅助奖励预测损失 $$L_{RP}$$ 和重放价值损失 $$L_{VR}$$ 组合 47 | 48 | $$\mathcal{L}_{U N R E A L}(\theta)=\mathcal{L}_{\mathrm{A} 3 \mathrm{C}}+\lambda_{\mathrm{VR}} \mathcal{L}_{\mathrm{VR}}+\lambda_{\mathrm{PC}} \sum \mathcal{L}_{Q}^{(c)}+\lambda_{\mathrm{RP}} \mathcal{L}_{\mathrm{RP}}$$ 49 | 50 | ## 实验 51 | 52 | 迷宫任务和雅达利游戏机 53 | 54 | ![](../../.gitbook/assets/image-77.png) 55 | 56 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/on-reinforcement-learning-for-full-length-game-of-starcraft.md: -------------------------------------------------------------------------------- 1 | # On Reinforcement Learning for Full-length Game of StarCraft 2 | 3 | > On Reinforcement Learning for Full-length Game of StarCraft 4 | 5 | 星际争霸II对强化学习提出了巨大挑战。 主要困难包括巨大的状态空间,不同的动作空间,长视野等。在本文中,我们研究了一套星际争霸II全长游戏的强化学习技巧。我们研究一种分层方法,其中层次结构涉及两个抽象层次。一个是从专家的示范轨迹中提取的宏观行动,它可以将行动空间减少一个数量级但仍然有效。 另一种是双层分层架构,它是模块化的,易于扩展。 我们还研究了一种课程转移学习方法,该方法将代理从最简单的对手训练到最简单的对手。在64×64地图上并使用限制性单位,我们在具有4个GPU和48个CPU线程的单台机器上训练代理。我们对难度级别1的内置AI实现了超过99%的获胜率。 通过课程转移学习算法和战斗模型的混合,我们可以在几天内对最困难的非作弊内置AI(7级)实现超过93%的中奖率。 我们希望这项研究能够为未来的大规模强化学习研究提供一些启示。 6 | 7 | ## 方法 8 | 9 | ### Hierarchical Architecture 10 | 11 | 我们的分层架构如图1所示。有两种类型的策略运行无关紧要的时间尺度。 控制器决定基于当前观察的每个长时间间隔选择子策略,并且子策略在每个短时间间隔内选择宏动作。 12 | 13 | ![](../../.gitbook/assets/image%20%28166%29.png) 14 | 15 | Controller根据观察状态选择子策略: $$a_{t_{c}}^{c}=\Pi\left(s_{t_{c}}^{c}\right), \quad s_{t_{c}}^{c} \in S_{c}$$ ,子策略选择宏动作 $$a_{t_{i}}^{i}=\pi_{i}\left(s_{t_{i}}^{i}\right)$$ ,回报函数为一个周期内子策略的总回报 $$r_{t_{c}}^{c}=r_{t_{i}}^{i}+r_{t_{i}+1}^{i}+\ldots+r_{t_{i}+K-1}^{i}$$ 。由于控制网络每个固定时间间隔K调用子网,因此高级网络的总执行步长变为T / K step。 16 | 17 | ### Generation of Macro-actions 18 | 19 | 我们通过专家轨迹的数据挖掘获得宏观行动空间。 20 | 21 | ![](../../.gitbook/assets/image%20%28175%29.png) 22 | 23 | ### Training Algorithm 24 | 25 | 我们的体系结构的训练过程在算法1中显示,可以归纳为以下内容。 首先,我们初始化控制器和子策略。 然后我们运行Z次的迭代并在每次迭代中运行M次剧集。 在每次迭代开始时,我们将清除所有重放缓冲区。 在每集中,我们收集控制器和子策略的轨迹。 在每次迭代结束时,我们使用重放缓冲区来更新控制器和子策略的参数。我们使用PPO算法优化网络,并且加入了熵损失。 26 | 27 | ![](../../.gitbook/assets/image%20%2877%29.png) 28 | 29 | ![](../../.gitbook/assets/image%20%2873%29.png) 30 | 31 | ### Reward Design 32 | 33 | 本文探讨了三种类型的奖励。赢/输奖励是在游戏结束时收到的三元1\(赢\)/ 0\(平局\)/ -1\(输\)。分数奖励是暴雪从游戏引擎获得的分数。混合奖励是我们设计的奖励函数。 34 | 35 | ### Curriculum Learning 36 | 37 | SC2包含10个难度级别的内置AI,它们都是由规则和脚本精心设计的。 从Level-1到10级,内置AI的能力不断提高。 较高难度级别的训练提供的积极反馈较少,因此代理人难以从头开始学习。 在这项工作中,我们首先训练我们的代理人在较低难度级别,然后使用预训练模型作为初始模型将代理人转移到更高难度级别,遵循课程学习的想法。 38 | 39 | ## Experiments 40 | 41 | ### Combat rule 42 | 43 | 战斗规则是一个简单的战斗策略,战斗规则模型中只有一个动作:攻击一系列固定位置。 虽然地图是不可观测的并且敌人的位置是未知的,但敌人总是住在矿井周围。 我们只需要让我们的军队攻击矿井周围的固定位置。 攻击动作使用内置AI进行自动移动和攻击。 因此,攻击行动的结果取决于建筑物的建造和单元的生产。 只有当代理人学会更好地进行建筑施工时(例如,不建造多余的建筑物,并在供应不足的情况下及时建造更多的挂架),代理才有可能获胜。 44 | 45 | ### Combat network 46 | 47 | 虽然简单的战斗规则模型是有效的,但战斗过程有点幼稚或僵化,当移动到更大和更复杂的地图时可能会失败。下面我们介绍一种叫做战斗网络的智能攻击方法。战斗网络的输出由三个动作和一个位置向量组成。这些行动是:都攻击某个位置,都撤退到某个位置,什么都不做。攻击和移动位置由位置向量指定。 48 | 49 | 战斗网络被构造为卷积神经网络(CNN)。 这个CNN映射了小地图和屏幕,使它能够知道完整地图的信息以及屏幕上的单位和建筑物位置。 此外,我们使用一个简单的策略来决定相机的位置。 当控制器选择基本子策略时,摄像机将移动到代理程序基础的位置。 50 | 51 | ### Mixture model 52 | 53 | 虽然战斗网络模型可以在高难度下训练得很好,但它偶尔会错过一些隐藏的敌人建筑。我们可以将战斗网络和战斗规则结合成一个混合模型。当在战斗网络的位置向量中预测到某个值时,军队的攻击位置将变成一系列由先验知识得到的固定位置。 54 | 55 | ![](../../.gitbook/assets/image%20%28158%29.png) 56 | 57 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/progressive-neural-networks.md: -------------------------------------------------------------------------------- 1 | # Progressive Neural Networks 2 | 3 | > [Progressive Neural Networks](https://arxiv.org/pdf/1606.04671.pdf) 4 | 5 | 学习解决复杂的任务序列——同时利用转移和避免灾难性遗忘——仍然是实现人类智能的关键障碍。渐进式网络方法在这个方向上向前迈进了一步:它们不容易遗忘,且可以通过与之前学习过的特征之间的横向连接利用先验知识。我们在各种强化学习任务\(雅达利和3D 迷宫\)上对该架构进行了广泛的评估,并证明它优于基于预处理和微调的通用基准。利用一种新的灵敏度测量方法,我们证明了迁移发生在学习策略的低水平感觉层和高水平控制层。 6 | 7 | ## 方法 8 | 9 | ### Progressive Neural Networks 10 | 11 | 渐进网络以单列开始:一个 $$L$$ 层的深度神经网络且带有隐藏激活层 $$h_{i}^{(1)} \in \mathbb{R}^{n_{i}}$$ ( $$i \leq L$$ ),并且参数 $$\Theta(1)$$ 已经收敛。当切换到第二个任务时,参数$$\Theta(1)$$被“冻结”,并且参数$$\Theta(2)$$的新列被实例化(随机初始化),其中隐层 $$h_{i}^{(2)}$$ 通过横向连接从 $$h_{i-1}^{(2)}$$ 和$$h_{i-1}^{(1)}$$接收输入,推广到第K个任务: 12 | 13 | $$ 14 | h_{i}^{(k)}=f\left(W_{i}^{(k)} h_{i-1}^{(k)}+\sum_{j [Combining strategic learning and tactical search in real-time strategy games](https://arxiv.org/abs/1709.03480) 4 | 5 | 在实时策略(RTS)游戏中管理AI复杂性的常用技术是使用动作和/或状态抽象。高层次的抽象通常会导致良好的战略决策,但战术决策质量可能会因细节丢失而受损。一种竞争性的方法是对搜索空间进行采样,这通常会在简单的场景中带来良好的战术性能,但高层规划较差。 6 | 7 | 我们建议使用深度卷积神经网络在一组有限的抽象选择中进行选择,并利用博弈树搜索的剩余计算时间来改进低层策略。CNN通过监督学习对由Puppet Search进行标记的游戏状态进行训练,这是一种使用动作抽象的战略搜索算法。然后,网络用于选择一个脚本和抽象操作,为所有单元生成低层操作。随后,游戏树搜索算法仅考虑靠近对手单位的单位,使用游戏状态的有限视图来改进单位子集的实际动作。 8 | 9 | 在μRTS游戏中的实验表明,组合算法比其两个独立组件和其他最先进的μRTS代理中的任何一个产生更高的赢率。据我们所知,这是第一次在标准游戏地图上成功应用卷积网络来玩完整的即时战略游戏,因为以前的工作集中在子问题上,例如战斗,或者非常小的地图上。 10 | 11 | ## 方法 12 | 13 | ### Algorithm 14 | 15 | 我们建立在RTS游戏状态评估(Stanescu等人,2016)的先前工作的基础上,应用于μ​​RTS(参见图1)。本研究提出了一种神经网络架构和实验,将其与更简单但更快的评估函数进行比较。 基于CNN的评估显示了评估游戏状态的更高准确性。 此外,当使用最先进的搜索算法时,它们的执行速度明显优于更快的评估。 16 | 17 | ![](../../.gitbook/assets/image%20%2863%29.png) 18 | 19 | 表2显示了我们使用的评估网络和策略网络的体系结构,它们仅在第一层和最后一层有所不同。策略网络的第一层有一个额外的平面,指示它正在计算哪个玩家的策略。评估网络的最后一层有两个输出,指示状态是玩家1还是玩家2获胜,而策略网络有四个输出,每个输出对应于四个可能动作中的一个。 20 | 21 | ![](../../.gitbook/assets/image%20%2821%29.png) 22 | 23 | ![](../../.gitbook/assets/image%20%28156%29.png) 24 | 25 | Puppet Search需要一个正向模型来检查不同动作的结果,然后选择最佳动作。大多数RTS游戏除了游戏本身之外没有专用的正向模型或模型。 这通常太慢而无法用于搜索算法,甚至不能用于技术约束,例如封闭源代码或被图形引擎占用。 在游戏过程中使用策略网络进行脚本选择使我们能够绕过游戏前向模型的需要。 当然,在监督训练阶段仍需要前进模型,但在这种情况下执行速度不是问题,因为训练是在离线状态下进行的。 通过强化学习来训练网络将完全消除这种约束。 26 | 27 | 最后,随着策略网络的快速运行\(对于基于搜索的代理,每帧3毫秒的时间预算为100毫秒\),我们可以使用未使用的时间来改进策略。虽然Puppet Search和策略网络使用的脚本代表了不同的战略选择,但它们都有着非常相似的战术行为。与最先进的基于搜索的机器人相比,他们的战术能力较弱,因为之前的结果(Barriga,Stanescu和Buro 2017b)表明。 28 | 29 | 出于这个原因,所提出的算法将用于战略决策的FCN和对抗性搜索算法相结合。战略部分负责宏观管理:单位生产、工人和向对手派遣战斗单位。战术组件在战斗中处理微观管理。 30 | 31 | 完整的过程由算法1描述。它首先建立游戏状态的有限视图,只包括靠近对方单位的单位\(第2行\)。如果该有限状态为空,所有可用的计算时间都分配给策略算法,否则,两种算法都会接收到总可用时间的一小部分。对于每个特定的算法组合,这个分数是根据经验确定的。然后,在第9行中,战略算法用于计算状态中所有单元的动作,接着是计算有限状态中单元动作的战术算法。最后,如果两种算法都为一个特定的单元产生了动作,则通过重新计划战略动作来合并动作\(第11行\)。 32 | 33 | ![](../../.gitbook/assets/image%20%2844%29.png) 34 | 35 | ## 实验 36 | 37 | ### State Evaluation Network 38 | 39 | 评估网络的训练数据是由一组机器人使用5个不同的地图运行游戏生成的,每个地图有12个不同的起始位置。平局被取消,剩下的比赛被分成2190场训练赛和262场测试赛。每场比赛随机抽取12个游戏状态,共计26,280个训练样本和3,144个测试样本。 数据由布尔值标记,表示第一个玩家是否获胜。所有评估函数在同一数据集上进行训练。评估网络在将样本分类为胜负时达到95%的准确率。 40 | 41 | ### Policy Network 42 | 43 | 我们使用了与前一小节相同的程序,但现在我们使用评估网络将样本标记为10秒Puppet Search的结果。 重新制定的策略网络具有预测正确的puppet move73%的准确性,以及预测前2个移动中任何一个的95%准确度。 44 | 45 | ### Strategy and Tactics 46 | 47 | 最后,我们比较策略网络和Puppet Search的性能,作为战略/战术代理的战略部分。我们将通过将分配的时间的一小部分分配给战略算法和剩余的战术算法来实现。在战略和战术算法之间划分的最佳时间在实验上确定,对于Puppet Search 为20%。 策略网络使用固定时间(约3ms),剩余时间分配给战术搜索。 48 | 49 | ![](../../.gitbook/assets/image%20%28140%29.png) 50 | 51 | ![](../../.gitbook/assets/image%20%28115%29.png) 52 | 53 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/ucttoclassification.md: -------------------------------------------------------------------------------- 1 | # UCTtoClassification 2 | 3 | > [Deep Learning for Real-Time Atari Game Play Using Offline Monte-Carlo Tree Search Planning](https://web.eecs.umich.edu/~baveja/Papers/UCTtoCNNsAtariGames-FinalVersion.pdf) 4 | 5 | 现代强化学习和深度学习方法的结合有望在挑战性应用方面取得重大进展,这些应用需要丰富的认知和政策选择。街机学习环境\( ALE \)提供了一套雅达利游戏,代表了一套有用的这类应用的基准点。最近在将无模型强化学习与深度学习相结合方面的突破,被称为DQN,实现了迄今为止最好的实时代理。基于规划的方法比最好的无模型方法得分高得多,但是它们利用了人类玩家无法获得的信息,并且比实时播放所需的速度慢几个数量级。我们这项工作的主要目标是建立一个比DQN更好的实时雅达利游戏玩家。中心思想是使用基于缓慢规划的代理为能够实时的深度学习架构提供训练数据。我们基于这一想法提出了新的代理,并表明它们的性能优于DQN。 6 | 7 | ## 方法 8 | 9 | ### Planning Agents for Atari Games based on UCT 10 | 11 | 这些方法从仿真器访问游戏状态,因此面对确定性MDP(除了初始状态的随机选择)。他们使用UCT逐步规划动作以采用当前状态,UCT是一种广泛用于游戏的算法。 UCT有三个参数,轨迹数量,最大深度(均匀的对于每个轨迹)和探测参数(我们所有实验中的标量设置为1)。通常,轨迹和深度参数越大,UCT越慢但是越好。 UCT使用模拟器作为模型来模拟轨迹如下。 12 | 13 | 假设正在生成第 $$k$$ 个轨迹并且当前节点处于深度 $$d$$ 、当前状态为 $$s$$ 。它将状态-深度 $$(s, d)$$ 的每一个可能的动作的得分计算为两个项的和:第一个是利用项,是在前一段轨迹中使用状态-深度 $$(s, d)$$ 所获得的折扣后的奖励总和的蒙特卡罗平均值;第二个是探索项, $$\sqrt{\log (n(s, d)) / n(s, a, d)}$$ , $$n$$表示访问次数 , $$a表示动作$$ ,旨在促进探索不同的动作。 14 | 15 | ### Combining UCT-based RL with DL 16 | 17 | #### Baseline UCT agent that provides training data 18 | 19 | 该代理不需要训练。 但是,它确实需要指定其两个参数,即轨迹的数量和最大深度。 回想一下,我们提议的新代理将全部使用来自该UCT代理的数据来训练基于CNN的策略,因此我们提出的代理的最终性能将比UCT代理的性能更差是合理的。 因此,在实验中,我们将这两个参数设置得足够大,以确保它们超过公布的DQN分数,但不会太大,以至于它们使我们的计算实验不合理地慢。具体来说,我们选择使用300作为所有游戏的最大深度和10000个轨迹数量但是两个 。 Pong原本是一个更简单的游戏,我们可以将轨迹数量减少到500,而Enduro的远端奖励比其他游戏更多,而且使用最大深度为400的sowe。 从第5节的结果可以明显看出,这允许theUCT代理在所有游戏中明显优于DQN,但DQN已经完美地完成了Pong。 我们强调UCT代理不符合我们的实时游戏目标。 例如,使用UCT代理玩游戏只需800次(我们这样做是为了收集我们代理商的培训数据)在最近的多核计算机上花费几天来完成每个游戏。 20 | 21 | #### UCTtoRegression 22 | 23 | 关键思想是使用UCT代理计算的动作值来训练基于回归的CNN。 以下是针对每个游戏进行的。 收集800次运行样本,即使用上面的UCTagent从开始到结束玩游戏800次。 从这些运行中构建数据集(表),如下所示。 将每个状态的最后四个帧按每个轨迹映射到由UCT计算的所有动作的动作值。 该训练数据用于通过回归训练CNN(参见下面的CNN详细信息)。 UCTtoRegression-agent使用该训练过程学习的CNN来选择评估期间的动作。 24 | 25 | #### UCTtoClassification 26 | 27 | 关键思想是使用由UCT代理计算的动作选择(从动作值中贪婪地选择)来训练基于分类器的CNN。 每场比赛都进行以下操作。 收集800次运行样本如上。 这些运行产生一个表,其中行对应于沿每个轨迹的每个状态的最后四个帧,并且单个列是根据轨迹状态下的UCT-agent最佳的动作选择。 该训练数据用于通过多项分类训练CNN(参见下面的CNN细节)。 UCTtoClassification-agent用该训练过程学习的CNN分类器来选择评估期间的动作。 28 | 29 | ![](../../.gitbook/assets/image-74.png) 30 | 31 | 上面的方法有一个潜在的问题是,CNN的的决策可能与UCT不同,这就造成的了输入分布与实际游戏不一致。所以我们提出了下面的方法: 32 | 33 | #### UCTtoClassification-Interleaved 34 | 35 | 收集200 UCT-agent运行如上; 这些显然会有相同的输入分布问题。 来自这些运​​行的数据用于通过多项分类来训练CNN,就像在UCTtoClassification-agent的方法中一样(我们不对UCTtoRegression-agent执行此操作,因为我们在下面显示它比UCTtoClassification-agent更糟糕)。 然后,训练有素的CNN用于决定收集另外200个运行中的动作选择(尽管选择随机动作的5%以确保一些探索)。 在每个轨道的游戏的每个状态下,UCT被要求计算其动作选择,并且原始数据集被增加,每个状态的最后四个帧作为行和列作为UCT的动作选择。 此400轨迹数据集的输入分布现在可能与UCT代理的输入分布不同。 该数据集用于通过多项分类再次训练CNN。 重复该交错过程,直到CNN的最后一轮训练的数据集中总共有800转的数据。 UCTtoClassification-Interleaved代理使用此训练过程学习的最终CNN分类器来选择测试期间的操作。 36 | 37 | ## 实验 38 | 39 | ![](../../.gitbook/assets/image-53.png) 40 | 41 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/policy-distillation.md: -------------------------------------------------------------------------------- 1 | # Policy Distillation 2 | 3 | > [POLICY DISTILLATION](https://arxiv.org/pdf/1511.06295.pdf) 4 | 5 | 通过深度强制学习,使用称为深度Q网络(DQN)的方法成功地学习了复杂视觉任务的策略,但是需要相对较大的(任务特定的)网络和广泛的培训来实现良好的性能。 在这项工作中,我们提出了一种称为Policy Distillation的新方法,该方法可用于提取强化学习代理的策略,并训练在专家级执行的新网络,同时显着缩小和提高效率。 此外,可以使用相同的方法将多个特定于任务的策略合并到单个策略中。我们使用Atari领域来演示这些声明,并表明多任务Distillation代理优于单一任务以及联合培训的DQN代理。 6 | 7 | 在本文中,我们介绍了将一个或多个动作策略从q网络转移到未训练网络的策略Distillation。该方法具有多种优点:网络大小可以被压缩多达15倍,而不会降低性能;多个专家策略可以组合成一个单一的多任务策略,其性能优于原始专家;最后,它可以作为一个实时的在线学习过程,通过不断提取最佳策略到目标网络,从而有效地跟踪不断发展的问题学习策略。这项工作的贡献是描述和讨论策略Distillation方法,并展示\( a \)单一游戏Distillation,\( b \)具有高度压缩模型的单游戏Distillation,\( c \)多游戏Distillation,和\( d \)在线Distillation的结果。 8 | 9 | ## 方法 10 | 11 | ### Deep Q-Learning 12 | 13 | 在深度Q学习中,神经网络被训练以预测的每个可能动作的平均折扣未来奖励。 具有最高预测奖励的动作由即应选择的动作。定义状态动作序列 $$s_{t}=x_{1}, a_{1}, x_{2}, a_{2}, \dots, a_{t-1}, x_{t}$$ ,折扣回报 $$\gamma : R_{t}=\sum_{t^{\prime}=t}^{T} \gamma^{t^{\prime}-t} r_{t}$$以及Q函数: 14 | 15 | $$ 16 | Q^{*}(s, a)=\max _{\pi} \mathbb{E}\left[R_{t} | s_{t}=s, a_{t}=a, \pi\right] 17 | $$ 18 | 19 | DQN通过最小化以下损失函数进行训练: 20 | 21 | $$ 22 | L_{i}\left(\theta_{i}\right)=\mathbb{E}_{\left(s, a, r, s^{\prime}\right) \sim U(D)}\left[\left(r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime} ; \theta_{i}^{-}\right)-Q\left(s, a ; \theta_{i}\right)\right)^{2}\right] 23 | $$ 24 | 25 | ### SINGLE-GAME POLICY DISTILLATION 26 | 27 | DISTILLATION\(蒸馏\)是一种将知识从指导模型转移到学生模型的方法。 28 | 29 | 用 $$T$$ (指导网络)生成的样本训练 $$S$$ (学生网络),可分类三种方式: 30 | 31 | 1\)选择最大Q值作为正类,利用负的对数似然损失, 32 | 33 | $$ 34 | L_{\mathrm{NLL}}\left(\mathcal{D}^{T}, \theta_{S}\right)=-\sum_{i=1}^{|D|} \log P\left(a_{i}=a_{i, b e s t} | x_{i}, \theta_{S}\right) 35 | $$ 36 | 37 | 2\)利用Q值得MSE损失 38 | 39 | $$ 40 | L_{M S E}\left(\mathcal{D}^{T}, \theta_{S}\right)=\sum_{i=1}^{|D|}\left\|\mathbf{q}_{i}^{T}-\mathbf{q}_{i}^{S}\right\|_{2}^{2} 41 | $$ 42 | 43 | 3\)将 $$Q$$ 值转换成离散概率,然后用KL散度作为损失 44 | 45 | $$ 46 | L_{K L}\left(\mathcal{D}^{T}, \theta_{S}\right)=\sum_{i=1}^{|D|} \operatorname{softmax}\left(\frac{\mathbf{q}_{i}^{T}}{\tau}\right) \ln \frac{\operatorname{softmax}\left(\frac{\mathbf{q}_{i}^{T}}{\tau}\right)}{\operatorname{softmax}\left(\mathbf{q}_{i}^{S}\right)} 47 | $$ 48 | 49 | 在传统的分类设置中, $$\mathbf{q}^{T}$$ 的输出分布非常尖锐,因此通过提高 $$softmax$$ 的温度参数来软化分布,以允许更多的次要知识转移到学生。 50 | 51 | ### MULTI-TASK POLICY DISTILLATION 52 | 53 | ![](../../.gitbook/assets/image-67.png) 54 | 55 | 我们使用N个DQN单游戏专家,每个都经过单独训练。 这些代理产生输入和目标,只需单游戏蒸馏,数据存储在单独的内存缓冲区中。 蒸馏器然后从数据存储顺序学习,每一集切换到不同的一个。由于不同的任务通常具有不同的动作集,因此为每个任务训练单独的输出层(称为控制器层)并且任务的id用于切换 在训练和评估期间得到正确的输出。 我们还尝试了KL和NLL蒸馏损失功能,用于多任务学习。 56 | 57 | 即使有了单独的控制器,多游戏DQN学习对Atari游戏来说也是极具挑战性的,DQN通常无法在游戏中达到完整的单游戏性能。我们认为这是由于不同政策之间的干扰、不同的奖励尺度以及学习价值函数固有的不稳定性。 58 | 59 | 策略提炼可以提供一种方法,将多个策略组合到一个网络中,而不会带来破坏性的干扰和扩展问题。由于策略在提炼过程中被压缩和提炼,我们推测它们也可以更有效地组合成单个网络。此外,策略固有的方差低于价值函数,这将有助于性能和稳定性。 60 | 61 | ## 实验 62 | 63 | ![](../../.gitbook/assets/image-105.png) 64 | 65 | ![](../../.gitbook/assets/image-76.png) 66 | 67 | ![](../../.gitbook/assets/image-15.png) 68 | 69 | -------------------------------------------------------------------------------- /fang-fa/kai-fang-shi-jie-you-xi/h-drln.md: -------------------------------------------------------------------------------- 1 | # H-DRLN 2 | 3 | > [A Deep Hierarchical Approach to Lifelong Learning in Minecraft](https://arxiv.org/pdf/1604.07255.pdf) 4 | 5 | 我们提出了一种终身学习系统,它能够重用并将知识从一个任务转移到另一个任务,同时有效地保留以前学过的知识库。在《我的世界》,通过学习可重复使用的技能来传递知识,这是一个流行的视频游戏,是一个尚未解决的高维终身学习问题。这些可重用的技能,我们称之为深度技能网络,然后结合到我们新颖的分层深度强化学习网络\( H-DRLN \)体系结构中,使用两种技术:(1)深度技能数组(2)技能蒸馏,我们用于学习技能的策略蒸馏新变体。技能蒸馏使H-DRLN通过积累知识和将多种可重用技能封装到一个单一的蒸馏网络中,有效地保留知识,从而在终身学习中扩展规模。与常规深度Q网络相比,H-DRLN表现出优越的性能和较低的学习样本复杂度在《我的世界》的中。 6 | 7 | ## 方法 8 | 9 | ### Life long learning 10 | 11 | ![](../../.gitbook/assets/image%20%28126%29.png) 12 | 13 | 《我的世界》是一个终身学习问题 14 | 15 | ![](../../.gitbook/assets/image%20%28135%29.png) 16 | 17 | ### Deep Skill Module 18 | 19 | 预先学习的技能被表示为深层网络,被称为Deep Skill Networks(DSNs)。即使用我们的DQN算法版本以及常规经验重放(ER)对不同的任务进行了先验训练。我们定义了两种类型的DSN,如图3中的ModuleA和ModuleB。前者即神经网络版,后者为策略蒸馏的版本。 20 | 21 | ![](../../.gitbook/assets/image%20%2852%29.png) 22 | 23 | ### H-DRLN architecture 24 | 25 | 图3上部即H-DRLN的整体架构。在这里,H-DRLN的输出包括原始动作和技能。 H-DRLN学习一种策略,该策略确定何时执行原始动作以及何时重新使用预先学习的技能。当选择原始动作的时候,仅运行一步;而选择技能的时候,会运行直到技能 $$\pi_{D S N_{i}}(s)$$ 终止。 26 | 27 | ### Skill Objective Function 28 | 29 | 如前所述,H-DRLN扩展了vanilla DQN架构,以学习原始动作和技能之间的控制。所以学习目标如下: 30 | 31 | $$ 32 | Q_{\Sigma}^{*}(s, \sigma)=\mathbb{E}\left[R_{s}^{\sigma}+\gamma^{k} \max _{\sigma^{\prime} \in \Sigma} Q_{\Sigma}^{*}\left(s^{\prime}, \sigma^{\prime}\right)\right] 33 | $$ 34 | 35 | 其中 $$R_{s}^{\sigma}$$ 是技能 $${\sigma}$$ 获得的回报。具体来说的目标函数如下 36 | 37 | $$ 38 | y_{t}=\left\{\begin{array}{ll}{\sum_{j=0}^{k-1}\left[\gamma^{j} r_{j+t}\right]} & {\text { if } s_{t+k} \text { terminal }} \\ {\sum_{j=0}^{k-1}\left[\gamma^{j} r_{j+t}\right]+\gamma^{k} \max _{\sigma^{\prime}} Q_{\theta_{\text {target}}}\left(s_{t+k}, \sigma^{\prime}\right)} & {\text { else }}\end{array}\right. 39 | $$ 40 | 41 | ### Skill - Experience Replay 42 | 43 | 我们扩展了常规的经验回放\(ER\)来整合技能,并将其称为技能经验回放\( S-ER \)。S-ER保存 $$\left(s_{t}, \sigma_{t}, \tilde{r}_{t}, s_{t+k}\right)$$ ,即保存技能的回报总和和最后一个状态。 44 | 45 | ## 实验 46 | 47 | ### State space 48 | 49 | 状态空间表示为来自最后四个图像帧的原始图像像素,这些像素被组合并下采样为84×84像素图像。动作 - DSN的原始动作空间由六个动作组成:(1)向前移动,(2)向左旋转30°,(3)向右旋转30°,(4)向内旋转,(5)拾取项目和( 6)放置它。奖励——在所有领域,代理人在每一步后都会得到一个小的负面奖励信号,在达到最终目标时会得到一个非负面的奖励。见图4和图5。 50 | 51 | ![](../../.gitbook/assets/image%20%2832%29.png) 52 | 53 | ### Training a DSN 54 | 55 | 单个DSN、两个房间域和复杂域的剧集长度分别为30、60和100步。代理在每个DSN中的随机位置以及两个空间和复杂域的第一个空间中初始化。 56 | 57 | 为了训练不同的DSN,我们使用VanillaDQN架构(Mnih等人2015)并执行网格搜索以找到Minecraft中学习DSN的最佳超参数。 58 | 59 | ### Training an H-DRLN with a DSN 60 | 61 | 在这个实验中,我们训练H-DRLN代理通过重用单个DSN(在navigation1 domain上预先训练)来解决两个房间的复杂任务。 62 | 63 | 我们在两个房间领域(图4)训练了H-DRLN架构以及标准DQN。 64 | 65 | ![](../../.gitbook/assets/image%20%2875%29.png) 66 | 67 | ### Training an H-DRLN with a Deep Skill Module 68 | 69 | 在本节中,我们将讨论我们的培训结果,并使用深度技能模块来利用H-DRLN来解决复杂的Minecraft领域。 70 | 71 | ![](../../.gitbook/assets/image%20%28138%29.png) 72 | 73 | 这里的Deep Skill Module即多技能网络,通过多个Teacher网络指导一个Student学习多种技能。 74 | 75 | ![](../../.gitbook/assets/image%20%28190%29.png) 76 | 77 | -------------------------------------------------------------------------------- /fang-fa/tuan-dui-ti-yu-you-xi/ddpg-+-inverting-gradients.md: -------------------------------------------------------------------------------- 1 | # DDPG + Inverting Gradients 2 | 3 | > [Deep reinforcement learning in parameterized action space](https://arxiv.org/abs/1511.04143) 4 | 5 | 最近的研究表明,深度神经网络能够逼近以连续状态和动作空间为特征的强化学习领域中的价值函数和策略。然而,据我们所知,在结构化的\(参数化的\)连续动作空间中,还没有先前的工作成功地使用深度神经网络。为了填补这一空白,本文重点研究模拟RoboCup足球领域的学习,其中包含一小组离散动作类型,每个类型都用连续变量参数化。 最好的代理人可以比2012年RoboCup冠军更可靠地进球。 因此,本文将深度强化学习成功扩展到参数化动作空间MDP类。 6 | 7 | ## 方法 8 | 9 | ### HALF FIELD OFFENSE DOMAIN 10 | 11 | RoboCup是一项国际机器人足球比赛,旨在促进人工智能和机器人技术的研究。在RoboCup中,2D模拟联盟与足球的抽象,其中球员,球和场都是二维物体。 12 | 13 | 该代理使用一个低级别,以自我为中心的观点,使用58个连续值特征进行编码。这些特征是通过Helios-Agent2D(Akiyama,2010)世界模型得出的,并提供与各种重要现场对象(如球, 目标,以及其他球员。 14 | 15 | ![](../../.gitbook/assets/image%20%2847%29.png) 16 | 17 | Half Field Offense具有低级参数化动作空间。 有四种相互排斥的离散动作:Dash,Turn,Tackle和Kick。 在每个时间步,代理必须选择这四个中的一个来执行。每个动作都有1-2个连续值参数,这些参数也必须指定。 代理必须选择它希望执行的离散动作以及该动作所需的连续值参数。 18 | 19 | HFO领域的真正奖励来自赢得完整的比赛。 然而,这种奖励信号对于学习代理人获得牵引力来说太过稀疏。相反,我们引入了一个手工制作的奖励信号,其中包含四个部分:Move To Ball Reward提供与代理和balld之间距离变化成比例的标量奖励 $$d(a, b)$$ 。Kick To Goal Reward与球和球门中心之间的距离变化成比例 $$d(b, g)$$ 。 为进球而得分的额外奖励。 20 | 21 | ![](../../.gitbook/assets/image%20%28146%29.png) 22 | 23 | ### Actor-Critic architecture 24 | 25 | ![](../../.gitbook/assets/image%20%28110%29.png) 26 | 27 | ### PARAMETERIZED ACTION SPACE ARCHITECTURE 28 | 29 | 参数化的动作空间可表示为 $$\left(a, p_{1}^{a}, \ldots, p_{m_{a}}^{a}\right)$$ ,即一个离散动作a与m个连续值p。对于HFO,整个动作空间可表示为: 30 | 31 | $$ 32 | \left(\text { Dash }, p_{1}^{\text { dash }}, p_{2}^{\text { dash }}\right) \cup\left(\text { Turn, } p_{3}^{\text { turn }}\right) \cup\left(\text { Tackle, } p_{4}^{\text { tackle }}\right) \cup\left(\text { Kick }, p_{5}^{\text { kick }}, p_{6}^{\text { kick }}\right) 33 | $$ 34 | 35 | 对应图2架构的输出参数 36 | 37 | #### ACTIONSELECTION ANDEXPLORATION 38 | 39 | 在训练期间,评论网络接收所有四个离散动作和所有六个动作参数的输出节点的值作为输入。 我们没有向评论家表明在HFO环境中实际应用了哪些离散动作,或者哪些连续参数与该离散动作相关联。类似地,当更新演员时,评论家为所有四个离散动作和所有六个连续参数提供梯度。虽然评论家似乎缺乏关于动作空间结构的基本信息,但我们在后面的实验结果表明,评论家学会了为每个离散动作的正确参数提供梯度。 40 | 41 | 连续作用空间的探索不同于离散空间。 我们将 $$\epsilon-greedy$$探索参数化的行动空间,连续值使用使用均匀随机分布进行采样 。并且探索幅度采用模拟退火。 42 | 43 | ### BOUNDED PARAMETER SPACE LEARNING 44 | 45 | HFO限制了每个连续参数的范围。 参数指示方向(例如转弯和踢动方向)以\[-180,180\]为界,并且功率参数(例如踢和力量)以\[0,100\]为界。在没有强制执行这些限制的情况下,经过几百次更新后,我们观察到常规超出边界的连续参数。 如果允许继续更新,参数将迅速趋向于天文数字大的值。这个问题源于评论家提供的渐变,鼓励演员网络继续增加已超出界限的参数。 我们探索了三种在预期范围内保留参数的方法: 46 | 47 | #### Zeroing Gradients 48 | 49 | 也许最简单的方法是检查每一个参数的批评家的梯度,并且将那些建议增加/减少已经在其范围的上限/下限的参数值的梯度归零: 50 | 51 | $$ 52 | \nabla_{p}=\left\{\begin{array}{ll}{\nabla_{p}} & {\text { if } p_{\min } [Teacher-Student Curriculum Learning](https://arxiv.org/pdf/1707.00183.pdf) 4 | 5 | 我们提出了教师 - 学生课程学习(TSCL),这是一个自学课程学习的框架,学生尝试学习一项复杂的任务,教师自动从给定的一组中选择子任务用于学生的学习。我们描述了一系列教师算法,这些算法依赖于直觉,即学生应该练习更多那些最快进步的任务,即学习曲线的斜率最高的地方。此外,教师算法还通过选择学生表现越来越差的任务来解决遗忘问题。我们证明,TSCL在两个任务中匹配或超越了精心设计的课程的结果:在LSTM增加特殊数字和在《我的世界》导航。使用我们自动生成的课程能够解决一个《我的世界》迷宫,当直接训练解决迷宫时,这个迷宫是不可能完全解决的,而且学习比子任务的均匀采样快一个数量级。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image%20%28183%29.png) 10 | 11 | 图1说明了师生互动。 在每个时间步,教师选择学生进行练习的任务。 学生训练这些任务并返回分数。老师的目标是让学生用尽可能少的训练步骤完成最后的任务。通常,该任务通过表示一个子任务的分类值来参数化,但是可以想象也可以进行多维或连续的任务参数化。该分数可以是在监督学习中的强化总体奖励,或者是在监督学习中的验证集合准确度。 12 | 13 | 我们将教师帮助学生学习最终任务的目标正式确定为解决部分可见的马可夫决策过程\(POMDP\)问题。我们提出了两个POMDP公式:\(1\)简单,最适合强化学习;和\(2\)批处理,最适合监督学习。 14 | 15 | ### Simple POMDP Formulation 16 | 17 | ![](../../.gitbook/assets/image%20%28104%29.png) 18 | 19 | ### Batch POMDP Formulation 20 | 21 | ![](../../.gitbook/assets/image%20%2810%29.png) 22 | 23 | ### Optimization Criteria 24 | 25 | 对于任何一种POMDP公式,最大化教师一集的总奖励相当于在一集结束时最大化所有任务的分数: 26 | 27 | $$ 28 | \sum_{t=1}^{T} r_{t}=\sum_{i=1}^{N} x_{T_{i}}^{(i)} 29 | $$ 30 | 31 | 虽然优化标准的明显选择可能是最终任务中的表现,但最初学生可能在最终任务中没有任何成功,这并没有向教师提供任何有意义的反馈信号。 因此,我们选择最大化所有任务中的性能总和。 32 | 33 | ### Algorithms 34 | 35 | 通常使用强化学习算法来解决POMDP。 但那些需要很多训练剧集,而我们的目标是在一个教师剧集中训练学生。 因此,我们采用更简单的启发式方法。 36 | 37 | 基本的直觉是,学生应该更多地练习那些能够取得最大进步的任务(Oudeyer和Kaplan,2007),同时还要练习有被遗忘风险的任务。 38 | 39 | ![](../../.gitbook/assets/image%20%2871%29.png) 40 | 41 | 图2展示了课程学习环境中理想的训练进度: 42 | 43 | * 起初,老师没有知识,所以他从所有的任务中统一取样 44 | * 当学生开始在任务1上取得进展时,教师会为此任务分配更多的概率 45 | * 当学生掌握任务1时,其学习曲线变平并且教师对该任务的抽样不那么频繁。 此时,学生也开始在任务2上取得进展,因此教师样本更多地来自任务2。 46 | * 这一直持续到学生掌握所有任务。 当所有任务学习曲线在最后变平时,教师返回统一的任务抽样 47 | 48 | 上图是理想化的,因为在实践中经常会发生一些遗忘,即当大部分可能性被分配给任务2时,任务1的表现可能会变得更差。为了应对这种情况,学生还应该练习所有已学的任务,尤其是那些发生遗忘的任务。为此,我们改为根据学习曲线斜率的绝对值对任务进行采样。如果分数的变化是负的,这一定意味着忘记发生了,这项任务应该被更多地实践。 49 | 50 | 仅此描述并未规定算法。 我们需要提出一种估算嘈杂任务得分的学习进度的方法,以及平衡探索和开发的方法。 来自非固定多臂赌博机问题算法的吸取灵感(Sutton andBarto,1998)并使它们适应TSCL。 51 | 52 | #### Online algorithm 53 | 54 | 它使用指数加权移动平均线来跟踪来自不同任务的预期回报Q. 55 | 56 | $$ 57 | Q_{t+1}\left(a_{t}\right)=\alpha r_{t}+(1-\alpha) Q_{t}\left(a_{t}\right) 58 | $$ 59 | 60 | 可以使用玻尔兹曼分布选择下一个任务 61 | 62 | $$ 63 | p(a)=\frac{e^{Q_{t}(a) / \tau}}{\sum_{i=1}^{N} e^{Q_{t}(i) / \tau}} 64 | $$ 65 | 66 | #### Naive algorithm 67 | 68 | 为了更可靠地估计学习进度,一个人应该练习几次。简单算法训练每个任务时间,观察结果分数,并使用线性回归估计学习曲线的斜率。 69 | 70 | #### Window algorithm 71 | 72 | 在显然没有进展的情况下,重复任务固定次数是很昂贵的。Window算法保留了最近K个分数的先进先出缓冲区,以及记录这些分数的时间步长。执行线性回归以估计每个任务的学习曲线的斜率,其中时间步长作为输入变量。 73 | 74 | #### Sampling algorithm 75 | 76 | 以前的算法需要调整超参数以平衡探索。 为了摆脱探索超参数,我们从汤普森采样中汲取灵感。采样算法为每个任务保留最近K个分数的缓冲区。为了选择下一个任务,从每个任务的K-last-rewards缓冲区中采样最近的奖励。 然后,无论选择哪个任务产生最高的采样奖励。 这使得探索成为算法的一个自然组成部分:最近具有高效值的任务会被更频繁地采样。 77 | 78 | ## 实验 79 | 80 | ### Minecraft 81 | 82 | 我们只为Minecraft任务实现了Window算法,因为其他算法依赖于得分变化,这对于并行训练方案来说并不是直接计算的。 作为基线,我们使用统一抽样,仅对最后一项任务进行训练,并使用手动调整的课程。 83 | 84 | ![](../../.gitbook/assets/image%20%2866%29.png) 85 | 86 | ![](../../.gitbook/assets/image%20%2849%29.png) 87 | 88 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/zero-order.md: -------------------------------------------------------------------------------- 1 | # Zero Order 2 | 3 | > [Episodic exploration for deep deterministic policies: An application to starcraft micromanagement tasks](https://arxiv.org/abs/1609.02993) 4 | 5 | 我们将实时战略游戏“星际争霸”中的场景视为强化学习算法的新基准。我们提出微观管理任务,即军队成员在战斗中的短期,低级别控制问题。从强化学习的角度来看,这些场景具有挑战性,因为状态-动作空间非常大,并且因为状态-动作评估函数没有明显的特征表示。我们描述了用深度神经网络控制器从游戏引擎给出的原始状态特性中解决微观管理问题的方法。此外,我们还提出了一种启发式强化学习算法,该算法结合了策略空间的直接探索和反向传播。这种算法允许使用确定性策略收集学习轨迹,这似乎比greedy探索更有效。实验表明,利用该算法,我们成功地学习了15个智能体组成的军队场景中的非平凡策略,在这些场景中,问题学习和强化都在进行斗争。 6 | 7 | ## 方法 8 | 9 | ### The MDP for greedy inference 10 | 11 | 一种解决联合推断命令的复杂性的方法是在每个步骤中执行贪婪推理:在每个状态下,单元一个一个地选择一个命令,知道之前由其他单元执行的命令。学习贪婪策略可以归结为在另一个MDP中学习策略,每个状态的操作更少,但是指数级的状态更多,其中附加的状态对应于贪心退单的中间步骤。这种减少以前是在Maes等人的结构化预测中提出的,他证明了在这个新MDP的最优政策与在原始MDP的最优政策具有相同的累积回报。 12 | 13 | 定义与贪婪推理关联的MDP\(以下称为greedyMDP\)的一种自然方法是,将贪婪策略的原子操作集定义为命令尚未确定的单元的所有可能\(unit, command\)对。这将导致一个关于单位数量的二次复杂度的推论,这是不可取的。 14 | 15 | 另一种可能性是首先选择一个单元,然后是一个应用于该单元的命令,它使用2 \| s \|步骤进行状态算法。 由于在确定所有命令后由环境同时执​​行命令,因此累积奖励不依赖于我们选择单元的顺序。 更进一步,我们可以让贪婪的MDP中的环境选择下一个单元,例如,在剩余单元中随机统一选择。于是状态集可以定义为: 16 | 17 | ![](../../.gitbook/assets/image%20%2864%29.png) 18 | 19 | 其中s为输入状态,a为动作(由c、a组成),u为单位,c为单位执行的命令 20 | 21 | 状态转移概率为: 22 | 23 | ![](../../.gitbook/assets/image%20%2859%29.png) 24 | 25 | 最后,使用与上述相同的符号,表示算法的中间步骤的状态之间的奖励是0,并且最后一个单元接收奖励: 26 | 27 | ![](../../.gitbook/assets/image%20%28170%29.png) 28 | 29 | ### Normalized cumulative rewards 30 | 31 | 在微观管理的情况中,一个自然的奖励信号是两种状态下造成的伤害和发生的伤害之间的差异。每一集的累计奖励是所造成的总伤害减去该集所遭受的总伤害。然而,这个数量的大小在很大程度上取决于在这个状态下的单位数量\(包括我们的单位和敌人的单位\),这个数量会随着时间的推移而显著减少。如果没有对当前状态下的单位数量进行适当的规范化,那么学习将被人为地偏向于在剧集开始时的大量直接奖励。 32 | 33 | 我们提出了一种简单的方法,在每个状态的基础上标准化即时奖励,假设一个比例因子 $$z(s)$$ 对学习者可用,它可以是简单的单位数量。 34 | 35 | ![](../../.gitbook/assets/image%20%28134%29.png) 36 | 37 | 将其应用于Bellman方程\(1\),得到 38 | 39 | ![](../../.gitbook/assets/image%20%2860%29.png) 40 | 41 | ### Raw state information and featurization 42 | 43 | 对于每个单位(盟友或敌人),从游戏引擎给出的原始状态描述中提取以下属性: 44 | 45 | 1. 单位属性:单位类型,地图上的坐标(pos),剩余的生命点数(hp),盾牌,对应于单位未受到攻击时可以恢复的额外生命值,最后是武器冷却时间(cd) ,数字框架等待再次造成损害)。 另外一个flag用于区分我们的单位和敌方单位。 46 | 2. 描述当前由单元执行的命令的两个属性。 首先,目标属性,如果不是空的,则是当前攻击中的敌方单位的标识符。 该标识符是由游戏引擎任意归因的整数,并且不传达任何语义。 我们不直接在模型中对此标识符进行编码,而是仅使用(目标)单元的位置(如下面我们在距离特征中所述)。 47 | 3. 第二个属性,target\_pos给出标位置的地图上的坐标(如果单位当前正在移动的期望目的地,或者后者的位置不是空的)。 这些领域可用于盟友和敌方单位; 从这里我们推断出当前单位当前执行的当前命令cur\_cmd 48 | 49 | ### Deep Neural Network model 50 | 51 | Cross featurization and pooling 52 | 53 | 用embedding层和几层ELU非线性交叉特征 54 | 55 | Scoring with respect to action type 56 | 57 | 然后把交叉好的特征和动作类型连接,输出预测分数 58 | 59 | ### Combining backpropagation and a zero-order gradientestimates 60 | 61 | 现在,我们提出了在离散动作空间中探索确定性策略的算法,该算法基于由深度神经网络参数化的策略。该算法可以看作是一种启发式算法。我们的策略可以表示为: 62 | 63 | ![](../../.gitbook/assets/image%20%2850%29.png) 64 | 65 | 为了在一集中以一致的方式探索策略空间,我们在单位球面上均匀地采样一个向量 $$u$$ ,并运行策略 $$\pi_{w}+\delta u, \theta$$ ,其中 $$δ> 0$$ 是一个超参数。除了在政策空间中实施本地随机搜索之外,随机化的动机来自随机无梯度优化。梯度可以表示为: 66 | 67 | ![](../../.gitbook/assets/image%20%2817%29.png) 68 | 69 | 算法可以表示为 70 | 71 | ![](../../.gitbook/assets/image%20%2858%29.png) 72 | 73 | ## 实验 74 | 75 | ![](../../.gitbook/assets/image%20%28103%29.png) 76 | 77 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/iql.md: -------------------------------------------------------------------------------- 1 | # IQL 2 | 3 | > [Stabilising experience replay for deep multi-agent reinforcement learning](https://arxiv.org/abs/1702.08887) 4 | 5 | 许多现实问题,例如网络包路由和城市交通控制,都被自然地建模为多代理执行学习(RL)问题。然而,现有的多代理RL方法通常在问题规模上难以扩展。因此,一个关键的挑战是将单智能体学习的成功转化为多智能体环境。个主要的障碍是独立的Q学习,这是最流行的多智能体RL方法,它引入了非平稳性,这使得它与深度Q学习依赖的体验重放记忆不兼容。本文提出了解决这一问题的两种方法:1)使用重要性采样的多代理变体自然地衰减过时数据;2\)在一个指纹上调整每个代理的值函数,该指纹可以消除重放存储器中数据样本的歧义。一个挑战分散的星际争霸单位微观管理变体的结果证实,这些方法能够成功地将经验重放与多智能体RL相结合。 6 | 7 | ## 方法 8 | 9 | 一种多代理学习方法是独立的Q学习(IQL)(Tan,1993),其中每个代理人独立地学习其策略,将其他代理人视为环境的一部分。 虽然IQL避免了中心学习的可扩展性问题,但它引入了一个新问题:从每个代理的角度来看,环境变得非平稳,因为它包含了其他自己学习的代理,排除了任何收敛保证。 幸运的是,大量的经验证据表明,IQL在实践中经常运作良好。 10 | 11 | 经验重放与IQL的结合似乎是有问题的:IQL引入的非平稳性意味着在代理的重放内存中生成数据的动态不再反映它正在学习的当前动态。 12 | 13 | 为了避免将IQL和经验重放结合起来的困难,以前对深度多代理RL的研究将经验重放的使用限制在短的、最近的缓冲区。,2017年\)或干脆完全禁用重播\(Foersteret al .,2016年\)。然而,这些变通办法限制了效率,并威胁到多代理RL的稳定性。在这一部分中,我们提出了两种有效地将经验重放融入多智能体学习的方法。 14 | 15 | ### Multi-Agent Importance Sampling 16 | 17 | 我们可以通过为多智能体设置开发重要性采样方案来解决IQL中存在的非平稳性问题。如RL代理可以使用重要性抽样来从其自身策略不同时收集的数据中学习策略,同样也可以从off-environment中收集的数据中学习环境(Ciosek&Whiteson,2017)。由于IQL将其他代理的策略视为环境的一部分,因此可以使用非环境重要性采样来稳定体验重放。我们首先考虑一个完全可观察的多代理设置。 如果Q函数可以直接关注真实状态,我们可以根据所有其他代理的策略为单个代理编写Bellman optimality等式: 18 | 19 | ![](../../.gitbook/assets/image%20%28122%29.png) 20 | 21 | 其中 $$\pi_{-a}\left(\mathbf{u}_{-a} | s\right)=\Pi_{i \in-a \pi_{i}}\left(u_{i} | s\right)$$ ,重要性采样损失可表示为: 22 | 23 | ![](../../.gitbook/assets/image%20%2831%29.png) 24 | 25 | 下面讨论部分可观察的情况,定义可观察状态为 $$\hat{s}=\left\{s, \tau_{-a}\right\} \in \hat{S}=S \times T^{n-1}$$ ,即s与其它代理观察状态的并集。在此基础上,我们可以定义部分可观察的回报函数、状态转移方程: 26 | 27 | ![](../../.gitbook/assets/image%20%28179%29.png) 28 | 29 | ![](../../.gitbook/assets/image%20%286%29.png) 30 | 31 | 定义部分可观察的MDP $$\widehat{G}=\langle\hat{S}, U, \hat{P}, \hat{r}, Z, \hat{O}, n, \gamma\rangle$$ ,Q函数为: 32 | 33 | ![](../../.gitbook/assets/image%20%2826%29.png) 34 | 35 | ![](../../.gitbook/assets/image%20%2876%29.png) 36 | 37 | 然而,与完全可观察到的情况不同,右手边包含其他几个间接依赖于其他代理的策略的术语,据我们所知,这些术语是难以处理的。所以部分可观察情况下的重要性采样系数为近似值。 38 | 39 | ### Multi-Agent Fingerprints 40 | 41 | 虽然重要性抽样提供了对真实目标的无偏估计,但它通常产生具有大和无界方差的重要性比率(Robert&Casella,2004)。调整或调整重要性权重可以减少方差但引入偏差。 因此,我们提出了一种替代方法,它包含多代理问题的非平稳性,而不是纠正它。 42 | 43 | IQL的弱点在于,通过将其他代理视为环境的一部分,它忽略了这样一个事实,即这些代理的策略会随着时间的推移而改变,从而使其自身的q功能变得不稳定。这意味着,如果Q函数以其他代理的策略为条件,它就可以变成静止的。这正是hyper Q-learning背后的哲学\(Tesauro,2003\):通过贝叶斯推理计算出的对其他智能体策略的估计,每个智能体的状态空间得到了增强。直观地说,这将每个代理的学习问题简化为一个标准的、单一代理的问题,在一个静止但更大的环境中。 44 | 45 | hyper Q-learning的实际困难在于它增加了Q函数的维数,使其学习成为可能的不可行。考虑用神经网络的参数表示其它代理策略,其数量将会非常庞大。 46 | 47 | 然而,一个关键的观察结果是,为了稳定经验重放,每个代理不需要建立在任何任何可能的 $$\boldsymbol{\theta}_{-a}$$ 上,但实际上只有那些 $$\boldsymbol{\theta}_{-a}$$ 的值出现在其重放存储器中。在这个缓冲区中生成数据的策略序列可以被认为是在高维策略空间中遵循单一的一维轨迹。为了稳定经验重现,如果每个代理人的观察结果都明确了当前训练样本沿该轨迹的来源,这就足够了。 48 | 49 | 那么,他的问题是如何设计一个包含这些信息的低维fingerprint。显然,给定其他代理的策略,这种指纹必须与状态-动作对的真实值相关联。它应该在培训过程中平稳地变化,以允许模型在其他代理在学习过程中执行不同质量的策略的经验中具体化。指纹中一个明显的候选是训练操作编号。一个潜在的挑战是,在策略收敛后,这需要模型将多个指纹匹配到同一个值,从而使函数变得更难学习,也更难概括。 50 | 51 | 其他代理人表现的另一个关键因素是探索率? 通常,退火计划设定为?使得它在整个训练过程中平稳地变化并且与性能密切相关。 因此,我们用?进一步增加Q函数的输入,使得观察函数变为 $$\{O(s), \epsilon, e\}$$ 。 52 | 53 | ## 实验 54 | 55 | ![](../../.gitbook/assets/image%20%2884%29.png) 56 | 57 | -------------------------------------------------------------------------------- /fang-fa/ment-te-zu-ma-de-fu-chou/ape-x-dqfd.md: -------------------------------------------------------------------------------- 1 | # Ape-X DQfD 2 | 3 | > [Observe and Look Further: Achieving Consistent Performance on Atari](https://arxiv.org/pdf/1805.11593.pdf) 4 | 5 | 尽管深度强化学习(RL)领域取得了重大进展,但今天的算法仍然无法在Atari 2600游戏等一系列多项任务中持续学习人类级别的策略。我们确定了任何算法都需要掌握的三个关键挑战,才能在所有游戏中表现出色:处理各种奖励分配、长期推理和高效探索。在这篇文章中,我们提出了一个算法来解决每一个挑战,并且能够学习几乎所有雅达利游戏中的人类层面的策略。一个新的transformed Bellman算子允许我们的算法处理不同密度和尺度的奖励; 辅助时间一致性损失使我们能够使用 $$\gamma$$ = 0.999(而不是 $$\gamma$$ = 0.99)的贴现因子稳定地训练,将有效规划的范围扩大一个数量级;我们通过使用人类演示来引导代理人奖励状态,从而缓解探索问题。 6 | 7 | ## 方法 8 | 9 | ### Transformed Bellman Operator 10 | 11 | $$ 12 | (\mathcal{T} Q)(x, a) :=\mathbb{E}_{x^{\prime} \sim P(\cdot | x, a)}\left[R(x, a)+\gamma \max _{a^{\prime} \in \mathcal{A}} Q\left(x^{\prime}, a^{\prime}\right)\right], \quad \forall(x, a) \in \mathcal{X} \times \mathcal{A} 13 | $$ 14 | 15 | 在深度强化学习中,如果 $$\mathcal{T} f_{\theta^{(k-1)}} )(x, a)$$ 的方差太大,容易使训练不稳定而无法收敛,一种方法是截断回报的分布于区间 $$[-1,1]$$ 。不过,我们建议将重点放在行动价值函数上,而不是减少奖励的幅度,我们使用一个函数: $$R→R$$ 来缩小动作值函数的范围。 16 | 17 | $$ 18 | \left(\mathcal{T}_{h} Q\right)(x, a) :=\mathbb{E}_{x^{\prime} \sim P(\cdot | x, a)}\left[h\left(R(x, a)+\gamma \max _{a^{\prime} \in \mathcal{A}} h^{-1}\left(Q\left(x^{\prime}, a^{\prime}\right)\right)\right)\right], \quad \forall(x, a) \in \mathcal{X} \times \mathcal{A} 19 | $$ 20 | 21 | ![](../../.gitbook/assets/image%20%28163%29.png) 22 | 23 | 上述定理说明了新的Q函数的收敛性,我们的算法中使用 $$h : z \mapsto \operatorname{sign}(z)(\sqrt{|z|+1}-1)+\varepsilon z \text { with } \varepsilon=10^{-2}$$ 。 24 | 25 | 新的损失函数可写为: 26 | 27 | ![](../../.gitbook/assets/image%20%28174%29.png) 28 | 29 | ### Temporal consistency \(TC\) loss 30 | 31 | 虽然变换后的贝尔曼算子提供了目标尺度和方差的缩减,但是当折扣因子γ接近1时,不稳定性仍然会发生。增加折扣系数会减少非奖励状态之间的时间价值差异。特别地,神经网络 $$f_{\theta}$$ 到下一个状态 $$x'$$ 的不希望的泛化(由于时间上相邻的目标值的相似性)可能导致灾难性的TD backup。我们通过添加表单的辅助时间一致性(TC)损失来解决问题: 32 | 33 | $$ 34 | L_{\mathrm{TC}}\left(\theta ;\left(t_{i}\right)_{i=1}^{N},\left(p_{i}\right)_{i=1}^{N}, \theta^{(k-1)}\right) :=\sum_{i=1}^{N} p_{i} \mathcal{L}\left(f_{\theta}\left(x_{i}^{\prime}, a_{i}^{\prime}\right)-f_{\theta^{(k-1)}}\left(x_{i}^{\prime}, a_{i}^{\prime}\right)\right) 35 | $$ 36 | 37 | TC损失惩罚改变下一个动作值估计 $$f_{\theta}\left(x^{\prime}, a^{\prime}\right)$$ 的权重更新。。这确保了更新后的估计值符合操作要求,从而随着时间的推移保持一致。 38 | 39 | ### Ape-X DQfD 40 | 41 | 在本节中,我们将描述如何将变换后的Bellman算子和TC损失与DQfD算法和分布式优先级经验重放相结合。整体的架构和Ape-X类似,不过引入了额外的损失函数。 42 | 43 | ![](../../.gitbook/assets/image%20%2827%29.png) 44 | 45 | #### Leaner Process 46 | 47 | 用于模仿演示学习的监督损失为(DQfD): 48 | 49 | $$ 50 | L_{\mathrm{IM}}\left(\theta ;\left(t_{i}\right)_{i=1}^{N},\left(p_{i}\right)_{i=1}^{N}, \theta^{(k-1)}\right) :=\sum_{i=1}^{N} p_{i} e_{i}\left(\max _{a \in \mathcal{A}}\left[f_{\theta}\left(x_{i}, a\right)+\lambda \delta_{a \neq a_{i}}\right]-f_{\theta}\left(x_{i}, a_{i}\right)\right) 51 | $$ 52 | 53 | 总的损失函数为: 54 | 55 | $$ 56 | L\left(\theta ;\left(t_{i}\right)_{i=1}^{N},\left(p_{i}\right)_{i=1}^{N}, \theta^{(k-1)}\right) :=\left(L_{\mathrm{TD}}+L_{\mathrm{TC}}+L_{\mathrm{IM}}\right)\left(\theta ;\left(t_{i}\right)_{i=1}^{N},\left(p_{i}\right)_{i=1}^{N}, \theta^{(k-1)}\right) 57 | $$ 58 | 59 | ![](../../.gitbook/assets/image%20%28101%29.png) 60 | 61 | ## 测试 62 | 63 | ![](../../.gitbook/assets/image%20%2830%29.png) 64 | 65 | -------------------------------------------------------------------------------- /fang-fa/jie-ji-you-xi/es.md: -------------------------------------------------------------------------------- 1 | # ES 2 | 3 | > [Evolution Strategies as a Scalable Alternative to Reinforcement Learning](https://arxiv.org/pdf/1703.03864.pdf) 4 | 5 | 我们探索使用Evolution Strategies(ES),一类黑盒优化算法,作为基于MDP的流行RL技术的替代方案,如Q-learning和Policy Gradients。 MuJoCo和Atari上的实验表明,ES是一种可行的解决方案策略,可以根据可用的CPU数量进行非常好的扩展:通过使用基于常见随机数的新型通信策略,我们的ES实现只需要传达标量,使其可以扩展到超过一千个并行进程。 这使我们能够在10分钟内解决3D人体行走,并在训练一小时后获得大多数Atari游戏的竞争结果。 此外,我们强调了作为黑盒优化技术的ES的几个优点:它不受行动频率和延迟奖励的影响,能够容忍极长的视野,并且不需要temporal discounting或值函数逼近。 6 | 7 | 本文的主要发现如下: 8 | 9 | 1. 我们发现使用虚拟批量标准化极大地提高了进化策略的可靠性。 如果没有这些方法,ES在我们的实验中证明是脆弱的,但通过这些重新参数化,我们在各种环境中取得了很好的结果。 10 | 2. 我们发现进化策略方法可高度并行化:通过引入基于常见随机数的新型通信策略,即使使用超过一千名工作人员,我们也能够在运行时实现线性速度。 特别是,使用1,440个工作进程,我们能够在10分钟内解决MuJoCo 3D人形任务。 11 | 3. 进化策略的数据效率惊人地好:我们能够匹配A3C 在大多数Atari环境中,使用的数据量在3倍到10倍之间。由于没有执行反向传播和没有值函数,所需的计算量减少了大约3倍,这在一定程度上抵消了数据效率的轻微下降。ES1小时训练结果需要的计算量与A3C1天训练结果相同,而在23个游戏测试上表现更好,在28个上表现更差。在MuJoCo任务中,我们能够匹配信任区域策略优化,使用的数据最多不超过10倍。 12 | 4. 我们发现ES表现出比像TRPO这样的策略梯度方法更好的探索行为:在MuJoCo人形机器人任务中,ES已经能够学习各种各样的步态\(比如侧向行走或者向后行走\)。TRPO从未观察到这些不寻常的步态,这表明了一种本质上不同的勘探行为 13 | 5. 我们发现进化策略方法是稳健的:对于所有Atari环境,我们使用固定超参数实现了上述结果,对于所有MuJoCo环境,我们使用了一组不同的固定超参数\(一个二元超参数除外,它在不同的MuJoCo环境中并不保持恒定\) 14 | 15 | ## 方法 16 | 17 | ### 进化策略 18 | 19 | 进化算法的常规流程为:初始种群>>交叉变异>>评价>>筛选下一代......直到问题收敛 20 | 21 | 令 $$F$$ 为评价函数, $$\theta$$ 为策略的参数,带噪音的分布 $$p_{\psi}(\theta)$$ 为当前的策略种群 22 | 23 | 则优化的最终目标是最大化 $$\mathbb{E}_{\theta \sim p_{\psi}} F(\theta)$$ ,natural evolution strategies \(NES\)使用梯度 24 | 25 | $$\nabla_{\psi} \mathbb{E}_{\theta \sim p_{\psi}} F(\theta)=\mathbb{E}_{\theta \sim p_{\psi}}\left\{F(\theta) \nabla_{\psi} \log p_{\psi}(\theta)\right\}$$ 26 | 27 | 我们用多元高斯分布来生成噪音,则可得到梯度 28 | 29 | $$\nabla_{\theta} \mathbb{E}_{c \sim N(0, I)} F(\theta+\sigma \epsilon)=\frac{1}{\sigma} \mathbb{E}_{c \sim N(0, I)}\{F(\theta+\sigma \epsilon) \epsilon\}$$ 30 | 31 | 于是有算法1 32 | 33 | ![](../../.gitbook/assets/image-48.png) 34 | 35 | 这里初始种群为带扰动的初始策略网络,评价函数视为环境的回报,基于评价函数用梯度下降产生下一代群体。 36 | 37 | ### 进化策略的扩展和并行化 38 | 39 | ES非常适合扩展到许多并行工作者:1)它在完整的episode上运行,因此只需要进程之间的不频繁通信。 2)每个进程获得的唯一信息是episode的标量返回:如果我们在优化之前在进程之间同步随机种子,每个进程都知道其他进程使用了什么扰动,因此每个进程只需要与另一个进程之间传递单个标量同意参数更新。3 \)它不需要值函数近似。具有值函数估计的RL本质上是连续的:为了改进给定的策略,通常需要对值函数进行多次更新来获得足够的信号。因此该算法可以有效的扩展到上千个工作进程。 40 | 41 | ![](../../.gitbook/assets/image-10.png) 42 | 43 | ES的探索由参数扰动驱动,对于ES来改进参数 $$θ$$ ,种群中的一些成员必须获得比其他成员更好的回报:即高斯扰动向量偶尔导致新的个体 $$\theta+\sigma \epsilon$$ 具有更好的回报是至关重要的。 44 | 45 | 对于Atari环境,我们发现DeepMind的卷积体系结构上的高斯参数扰动并不总能导致充分的探索:对于某些环境,随机扰动的参数倾向于编码总是采取一种特定反应的策略,而不管 作为输入的状态。 但是,我们发现通过在策略规范中使用虚拟批量规范化,我们可以匹配大多数游戏的策略梯度方法的性能。 46 | 47 | ### 参数空间中的平滑 vs 动作空间中的平滑 48 | 49 | RL的一大困难来源于缺乏策略的信息梯度:这种梯度可能由于环境或策略的不平滑而不存在,或者可能只能作为高方差估计来获得,因为环境通常只能通过采样来访问。令 $$\mathbf{a}=\left\{a_{1}, \dots, a_{T}\right\}$$ ,其中 $$a_{t}=\pi(s ; \theta)$$, 则我们的优化目标为 $$F(\theta)=R(\mathbf{a}(\theta))$$ 。 50 | 51 | 因为允许动作是离散的,并且允许策略是确定性的, $$F(\theta)$$ 可能是非平滑的;更重要的是,因为我们不能明确地访问决策问题的潜在状态转移函数,梯度不能用类似反向传播的算法来计算。为了使问题变得平滑并有一种方法来估计它的梯度,我们需要添加噪声。 52 | 53 | 策略梯度方法在动作空间添加噪音 $$\epsilon$$ ,所以目标函数为 $$F_{P G}(\theta)=\mathbb{E}_{\epsilon} R(\mathbf{a}(\epsilon, \theta))$$ ,梯度为 54 | 55 | $$ 56 | \nabla_{\theta} F_{P G}(\theta)=\mathbb{E}_{\epsilon}\left\{R(\mathbf{a}(\epsilon, \theta)) \nabla_{\theta} \log p(\mathbf{a}(\epsilon, \theta) ; \theta)\right\} 57 | $$ 58 | 59 | 对于进化策略,这里使用的方法是基于参数扰动的噪音,即参数 $$\tilde{\theta}=\theta+\xi$$ ,$$a_{t}=\mathbf{a}(\xi, \theta)=\pi(s ; \tilde{\theta})$$ 60 | 61 | $$ 62 | \nabla_{\theta} F_{E S}(\theta)=\mathbb{E}_{\xi}\left\{R(\mathbf{a}(\xi, \theta)) \nabla_{\theta} \log p(\tilde{\theta}(\xi, \theta) ; \theta)\right\} 63 | $$ 64 | 65 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/counterfactual-multi-agent-policy-gradients.md: -------------------------------------------------------------------------------- 1 | # COMA 2 | 3 | > [Counterfactual multi-agent policy gradients](https://arxiv.org/abs/1705.08926) 4 | 5 | 许多现实世界的问题,如网络数据包路由和自治车辆的协调,自然被建模为协作多智能体系统。非常需要新的强化学习方法,能够有效地学习这些系统的分散策略。为此,我们提出了一种新的多代理行为者-批评者方法,称为counterfactual multi-agent\(COMA\)policy gradient。COMA使用集中评论家来评估Q-函数和分散的参与者,以优化代理的策略。 此外,为了应对多智能体信用分配的挑战,它使用了一个counterfactual baseline,即边缘化一个代理人的行为,同时保持其他代理人的行为不变。COMA还使用了一种批评表示,它可以在一次正向传递中有效地计算counterfactual baseline。我们使用具有显著部分可观测性的分散变量在测试平台StarCraft unit micromanagement上评估COMA。在这种情况下,COMA显著提高了与其他多代理参与者-批评者方法相比的平均性能,并且最佳性能代理与能够访问完整状态的最先进的集中式控制器竞争。 6 | 7 | ## 方法 8 | 9 | 对于多代理学习中,亟须能够有效学习分散策略的新RL方法。 在某些情况下,学习本身也可能需要分散。 然而,在许多情况下,学习可以在模拟器或实验室中进行,其中可以获得额外的状态信息,并且代理可以自由地进行通信。 10 | 11 | 另一个关键的挑战是多代理功绩分配:在合作制定中,联合行动通常只产生全局奖励,使得每个代理人难以推断自己对团队的贡献。 成功。 有时可以为每个代理设计个人奖励功能。然而,这些奖励通常不能在合作组织中获得,并且往往不能鼓励个体代理人为了更大的利益而牺牲。这通常会在具有挑战性的任务中大大阻碍多代理学习,即使相对较少的代理也是如此。 12 | 13 | ### Independent Actor-Critic 14 | 15 | 将策略梯度应用于多个代理的最简单的方法是让每个代理与其自己的参与者和批评者从自己的行动观察历史中独立学习。这本质上是独立的Q学习背后的理念(Tan 1993),它可能是最受欢迎的多智能体学习算法,但是在Q学习中有演员评论。 因此,我们将此方法称为独立执行者 - 评论家(IAC)。 16 | 17 | 在我们的IAC实现中,我们通过在代理之间对参数进行锐化来加速学习,即,我们只学习一个所有代理使用的行为者和一个评论家。 代理可能仍然表现不同,因为它们接收不同的观察,包括特定于代理的ID,从而演变出不同的隐藏状态。 18 | 19 | 独立学习很简单,但是缺乏训练时的信息共享使得学习依赖于多个代理之间交互的协调策略变得困难,或者让单个代理评估其行为对团队回报的贡献变得困难。 20 | 21 | ### Counterfactual Multi-Agent Policy Gradients 22 | 23 | ![](../../.gitbook/assets/image%20%2865%29.png) 24 | 25 | 上面讨论的困难是因为,除了参数共享之外,IAC未能利用学习集中在我们的环境中的事实。在本节中,我们提出了一些事实上的多智能体(COMA)策略梯度,从而克服了这一局限。 COMA的三个主要思想是:1)批评者的集中化,2)使用反事实基线,3)使用批评表示,允许对基线进行有效评估。 本节的其余部分描述了这些想法。 26 | 27 | #### centralised critic 28 | 29 | 在IAC中每个Actor使用自己的Critic,然而这个Critic仅见过它自己观察到的样本。所以,如图1\(a\)所示,COMA使用集中的一个Critic,这样Critic便可以拟合一个全局的真实的回报。于是Actor的梯度可以表示为 30 | 31 | $$ 32 | g=\nabla_{\theta^{\pi}} \log \pi\left(u | \tau_{t}^{a}\right)\left(r+\gamma V\left(s_{t+1}\right)-V\left(s_{t}\right)\right) 33 | $$ 34 | 35 | 然而,这种方法不能解决关键的信用分配问题。因为TD误差只考虑全局回报,所以为每个参与者计算的梯度并没有明确说明特定代理人的行为对全局报酬的贡献。由于其他代理可能正在探索,该代理的梯度变得非常嘈杂,尤其是当有许多代理时。 36 | 37 | #### counterfactual baseline 38 | 39 | 所以COMA引入了一个counterfactual baseline,其核心思想是利用difference rewards(参考Wolpert and Tumer2002),即代理从一个shaped reward中学习 40 | 41 | $$ 42 | D^{a}=r(s, \mathbf{u})-r\left(s,\left(\mathbf{u}^{-a}, c^{a}\right)\right) 43 | $$ 44 | 45 | 我们用粗体 $$\mathbf{u}$$ 表示所有代理联合动作,给定代理人 $$a$$ 以外的代理人动作用上标 $$-a$$ 表示。其中 $$c^{a}$$ 是a代理的默认动作,任何动作提升 $$D^{a}$$ 的同时也会提升 $$r(s, \mathbf{u})$$ ,因为 $$r\left(s,\left(\mathbf{u}^{-a}, c^{a}\right)\right.$$ 与a的动作无关。 46 | 47 | 差分奖励是执行多代理信用分配的有效方式,但是,它们通常需要访问模拟器才能进行估算 $$r\left(s,\left(\mathbf{u}^{-a}, c^{a}\right)\right)$$ 。当模拟器已经用于学习时,差异奖励增加了必须进行的模拟的数量,因为每个代理的差异奖励需要单独的反事实模拟。 48 | 49 | COMA的一个关键洞察力是,集中的批评可用于以避免这些问题的方式实现差异奖励。COMA学习了一个集中的评论家 $$Q(s, \mathbf{u})$$ ,它估计了对联合行动 $$\mathbf{u}$$ 的Q值。对于每个代理人,我们可以计算一个优势函数,该函数将当前操作 $$u^{a}$$ 的Q值与比较反事实基线进行比较,同时固定其他代理的动作 $$\mathbf{u}^{-a}$$ : 50 | 51 | $$ 52 | A^{a}(s, \mathbf{u})=Q(s, \mathbf{u})-\sum_{u^{\prime a}} \pi^{a}\left(u^{\prime a} | \tau^{a}\right) Q\left(s,\left(\mathbf{u}^{-a}, u^{\prime a}\right)\right) 53 | $$ 54 | 55 | 因此, $$A^{a}\left(s, u^{a}\right)$$ 为每个代理计算一个单独的基线,该基线使用集中的批评家来推理只有a的行为改变的反事实,直接从代理的经验中学习,而不是依赖额外的模拟、回报模型或用户设计的默认行为。 56 | 57 | 即使这样,在典型的表示中,这种网络的输出节点的数量将等于 $$|U|^{n}$$ ,仍会使得训练很困难。为了解决这两个问题,COMA使用了一个评论家代表,可以有效地评估基线。 具体来说,其他代理的操作 $$\mathbf{u}^{-a}$$ 作为网络输入的一部分,为每个代理a的动作输出Q值,如图1\(c\)。 58 | 59 | 以下引理确定了COMA与局部最优策略的收敛性: 60 | 61 | ![](../../.gitbook/assets/image%20%28157%29.png) 62 | 63 | 证明请参考原论文 64 | 65 | ## 实验 66 | 67 | 作者在星际争霸2的微观操作上进行了实验(通常星际争霸2代理使用引擎自带的宏动作) 68 | 69 | ![](../../.gitbook/assets/image%20%2818%29.png) 70 | 71 | -------------------------------------------------------------------------------- /fang-fa/ji-shi-zhan-lve-you-xi/puppet-search.md: -------------------------------------------------------------------------------- 1 | # Puppet Search 2 | 3 | > [Puppet Search: Enhancing Scripted Behavior by Look-Ahead Search with Applications to Real-Time Strategy Games](https://pdfs.semanticscholar.org/3902/521ee719f296423c33e79f99949af1c7445b.pdf) 4 | 5 | 实时策略游戏已经被证明非常适合标准的对抗树搜索技术。最近,出现了几种解决它们复杂性的方法,它们使用游戏状态或移动抽象,或者两者兼有。不幸的是,支持性实验要么局限于更简单的即时战略环境\(μRTS,SparCraft\),要么缺乏对最先进的游戏代理的测试。 6 | 7 | 在这里,我们提出了Puppet Search,一种基于脚本的新的对抗性搜索框架,可以将选择点暴露给前瞻搜索程序。为其选择点选择script和decision的组合表示接下来要应用的动作。这种移动可以在实际游戏中执行,从而让脚本运行,或者在游戏状态的抽象表示中执行,该抽象表示可以被敌对搜索算法使用。Puppet Search返回代理在特定时间内要执行的脚本和选项的主要变化。我们在一个完整的星际争霸机器人中实现了这个算法。实验表明,它与2014年亚投行星际争霸赛中最先进的机器人对战时使用的所有独立脚本都匹配或优于它们。 8 | 9 | ## 方法 10 | 11 | ### Puppet ABCD Search 12 | 13 | 算法1展示了基于ABCD\(考虑持续时间的[α-β搜索](https://en.wikipedia.org/wiki/Alpha–beta_pruning)\)搜索的一个变种,它本身是α-β搜索对同时和持续动作的适应。为了减少求解多步同时移动游戏的计算复杂性,ABCD搜索基于移动序列化策略实现近似,其指定下一个(第3行)和之后的对手的玩家。他们所讨论的策略包括以1-2-2-1的方式随机,交替和交替,以平衡第一或第二玩家的优势。 14 | 15 | 为了适应我们假设的同步移动游戏的Puppet Search搜索框架,我们修改了ABCD搜索,它考虑了Puppet移动序列,并考虑到在任何时间点两个玩家都执行Puppet 移动。第9行,最大搜索深度假设为偶数,这允许两个玩家选择一个Puppet 向前移动。在第4行,生成当前玩家的移动。它们包含选择点决策以及移动它的玩家。之后,如果从上一个递归调用\(第5行\)没有传递任何移动,当前玩家的 $$m_{2}$$ 将被传递到下一个PUPPETABCD调用在第6行。否则,两个玩家的动作都将应用到状态\(第9行\)。应用移动的确切机制是特定于域的。我们稍后将给出一个特定于RTS游戏的示例(算法2)。 16 | 17 | ![](../../.gitbook/assets/image%20%2816%29.png) 18 | 19 | ### Puppet Search in RTS Games 20 | 21 | 本节描述了在星际争霸游戏代理中上层搜索的实现。星际争霸是一种大众游戏,玩家可以同时向他们控制的所有个人游戏单元发出动作,每秒几次。此外,有些动作并不是偶然的——它们需要一些时间来完成,它们的效果有时是随机的,只有游戏状态的局部视图可供玩家使用。最后,游戏区域的大小、可用单元的数量以及在任何给定时间可能采取的行动的数量都比大多数棋盘游戏大几个数量级。 22 | 23 | 我们的实现通过调整标准人工智能算法来解决其中的一些问题,例如在同步移动设置中序列化移动,或者忽略一些最终的问题,例如通过假设确定的动作效果和完美的信息。此外,由于软件限制,例如在搜索过程中无法使用引擎来转发世界,以及没有合适的模拟程序,必须进行一些简化。 24 | 25 | #### Concurrent Actions and Script Combinations 26 | 27 | 星际争霸2的很多动作是同时进行的,为了使其符合“Puppet Search”框架,我们可以组合所有这些脚本并定义单个选择点,其可用(并发)Puppet 移动是由各个脚本的puppet 移动的向量组成。例如,一个并发的puppet 移动可能是低级puppet 移动的一对,例如“在选择单元组A的脚本的选项2和选项组B的选择点上选项3”,这可能意味着“现在A主攻基地的并且B建立一个二级基地,当游戏达到第7000帧时。 28 | 29 | 在另一个场景中,我们可以访问多个脚本来实现不同的完整游戏策略。例如,我们可以将所有参与最近星际争霸人工智能竞赛的程序视为脚本,并尝试将它们结合到一个基于超级搜索理念的星际争霸玩家中,方法是识别各个策略中的弱点,提出适当的选择点,然后在顶部添加一个选择点,让人工智能系统可以选择在给定的帧之外或者在某些游戏事件发生之前继续执行其中一个脚本。 30 | 31 | #### State Representation and Move Execution 32 | 33 | 为了实现模拟前向得到得到未来的结果,我们使用Build Order Search System(BOSS)前向经济和SparCraft前向战斗。因为同时推进经济、团队和战斗既棘手又计算成本高,所以我们决定用游戏时间最长的动作来决定速度:推进经济,如算法2所示。 34 | 35 | 每次我们需要应用移动时,脚本都会运行,并返回要构建的有序建筑物列表(第3,4行)。在第8行,状态被转发,直到满足列表中下一个建筑的先决条件\(资源和其他建筑\)。然后,该建筑被添加到BOSS 建造队列\(第9行\),以便下次经济受到保护时,其建设将开始。然后,在第10行,小队移动和战斗被转发到相同数量的帧外。然后将查询脚本以检查它们是否已经到达未定的选择点,在这种情况下转发停止。这个循环一直持续到构建列表变空、游戏结束或者达到给定的帧限制。为简单起见,我们在第2行将该帧限制显示为常数。 36 | 37 | ![](../../.gitbook/assets/image%20%28178%29.png) 38 | 39 | #### Search 40 | 41 | 由于具有用于转发单位移动和战斗的不完美模型,我们决定不反对使用MCTS,其将在playout阶段严重依赖它。 我们选择使用修改后的Alpha-Beta搜索。 42 | 43 | #### State Evaluation 44 | 45 | 我们评估了一些方法,第一个是星际争霸根据建造它所需要的资源给每个单位分配的分数,为了我们的目的,这个分数高估了建筑物。第二个是LTD2\(“生命时间-伤害-2”\),这是一个单位在其一生中所能造成的平均伤害的量度,它根本不重视非攻击性单位和建筑,甚至对于战斗单位来说,它也不考虑范围或速度等属性,或者隐形等特殊能力。为了尝试手工构建一个评估函数来解决这些不足,我们决定使用一个基于anchester’s attrition laws的模型。它自动训练单位的评估功能,调整到每个对手。它仍然只考虑战斗单位,所以下一步显而易见的是使用一个函数来评估整个游戏状态,如\(埃里克森和布鲁2014\)所述。 46 | 47 | #### Hash Tables 48 | 49 | 因为移动执行的成本很高,所以我们使用散列表来存储状态,通过散列用于到达该状态的移动序列来索引。它的工作原理类似于基于Zobrist散列的换位表\(Zobrist 1970\),但是由于状态太大且代价太高,所以我们改为散列从根到当前状态的移动顺序。 50 | 51 | ## 实验 52 | 53 | 实验使用12个VirtualBox虚拟机(VM)进行,每个虚拟机配备2个运行速度为2.5GHz的IntelXeon E5420 CPU核心和2GB RAM。客户操作系统是Microsoft Windows XPSP3。The StarCraft AI Tournament Manager用来协调比赛。默认的锦标赛超时策略已被更改,允许我们的机器人在构建队列每2000帧用完时花费6秒的搜索时间。 54 | 55 | ![](../../.gitbook/assets/image%20%2861%29.png) 56 | 57 | ![](../../.gitbook/assets/image%20%28133%29.png) 58 | 59 | ![](../../.gitbook/assets/image%20%28107%29.png) 60 | 61 | ![](../../.gitbook/assets/image%20%2895%29.png) 62 | 63 | -------------------------------------------------------------------------------- /fang-fa/ment-te-zu-ma-de-fu-chou/beating-atari-with-natural-language-guided-reinforcement-learning.md: -------------------------------------------------------------------------------- 1 | # Natural Language Guided Reinforcement Learning 2 | 3 | > [Beating Atari with Natural Language Guided Reinforcement Learning](https://arxiv.org/pdf/1704.05539.pdf) 4 | 5 | 我们介绍了第一个借助自然语言指导学会击败Atari游戏的深层强化学习代理。 代理人使用环境观察和自然语言之间的多模态嵌入来通过英语指令列表自我监控进度,除了增加游戏分数之外,还为补充指令提供奖励。 我们的代理显着优于Deep Q-Networks(DQN),异步优势演员 - 评论家(A3C)代理,以及最佳代理发布到OpenAI Gym \[4\],其中被认为是最困难的Atari 2600环境\[2\]:MONTEZUMA' SREVENGE。 6 | 7 | ![](../../.gitbook/assets/image%20%2819%29.png) 8 | 9 | 人类通常不会在真空中学会与世界互动,缺乏与他人的互动,我们也不会生活在无国籍、单一范例的监督学习世界中。 10 | 11 | 相反,我们生活在一个奇妙复杂和有状态的世界中,过去的行为会影响当前的结果。 在我们的学习中,我们受益于他人的指导,接受自然语言中任意高级别的指导 - 并学习填补这些指示之间的空白 - 作为一个具有不同奖励来源的内在和外在的世界。 12 | 13 | 受到以自然语言的力量指导人工智能的梦想的启发,我们开始创建一个能够学习高级英语教学的代理,因为它学会了在Atari游戏的模型世界中行动。 14 | 15 | 我们通过将自然语言处理和深度强化学习的技术结合在两个阶段来实现:第一阶段,代理学习英语命令的含义,以及它们如何映射到游戏状态的观察上。在第二阶段,代理探索环境,通过它已经学会的命令来理解和学习满足给定命令需要什么动作。 16 | 17 | ## 方法 18 | 19 | ![](../../.gitbook/assets/image%20%288%29.png) 20 | 21 | ### Viability of Sub-Task Rewards 22 | 23 | ![](../../.gitbook/assets/image%20%28114%29.png) 24 | 25 | 有了这个更有希望的基线,并了解了我们对理论状态的理解,我们开始运行一个关于额外指导对强化学习者有用的概念证明,只要在我们确定有益于学习者学习的状态下,就向学习者注射额外的奖励信号。我们并没有基于完成自然语言指令而获得额外的奖励,我们最初只是简单地奖励到达游戏状态的代理,即球的位置直接位于球拍的位置之上。为了实现这一点,我们为Breakout创建了一个模板匹配库,以返回球和桨在环境中的位置。事实证明,这很重要,因为突破环境中的桨随着游戏的进行而变小,在某些场景中会与墙壁和球重叠,球会根据y位置改变颜色,这只是一些复杂的情况。 26 | 27 | 有了这个额外的模板匹配奖励,代理人获得了击球状态,我们看到游戏早期阶段的学习率有了显著的提高。当代理人失去生命时,我们也看到了更多的改进,也提供了负面的回报(这种奖励信号不是由环境直接提供的)。 在我们的两条硬编码指令之后的额外奖励信号帮助代理在仅12,000次迭代(每次迭代播放128帧)后得分超过120分,比相同训练时间后的普通A3C好三倍多。 28 | 29 | 虽然这些早期训练的结果是有希望的,但是随着代理人在环境中的进一步发展,额外的奖励信号变得不那么重要。在36,000次迭代之后,额外的奖励代理与基线A3C Breakout模型收敛,并且在100,000次迭代之后,它实际上性能更差。我们将这归因于以下两个因素:1)当球比球桨更快地移动时,简单地将球保持在球下方的事实对于后续轮次的策略不是有用的,以及2)基线A3C代理学习的事实 没有额外的奖励信号如此迅速,因为在Breakout环境中奖励是密集的。 30 | 31 | ### Experiments in Multimodal Embeddings 32 | 33 | 在对增强(A3C)和奖励增强子组件进行实验和调试之后,我们尚未验证的模型的最后一个组成部分是多模式嵌入将自然语言描述和帧映射到单个嵌入空间,我们可以确定描述是否适用于帧。 34 | 35 | 我们首先通过运行我们刚刚为Breakout训练的A3C模型生成了几千帧的数据集,并使用我们的模板匹配代码来给出帧中实体的关系描述。 例如,一些可能的框架描述包括“球位于球拍的右侧”和“球拍位于球的右侧”。 36 | 37 | 为了正确地识别一系列连续帧所满足的命令,并将描述这些命令和帧的固定大小向量传递给我们的学习代理,我们需要在帧和句子之间建立多模态模型。整个设置如图4的绿色部分所示。我们的网络把一对连续的帧和一个句子作为一个词的向量,这个向量可以描述也可以不描述图像。帧通过卷积神经网络进行嵌入。 38 | 39 | ![](../../.gitbook/assets/image%20%28100%29.png) 40 | 41 | 该网络旨在最大化生成的框架嵌入和准确描述一系列框架的所有句子的句子嵌入之间的点积,并最小化不适用于框架的句子的句子嵌入的点积。我们选择框架和句子嵌入之间的点积,例如余弦距离,因为许多句子可能匹配一个框架。 42 | 43 | ### MONTEZUMA’SREVENGE 44 | 45 | 我们为该游戏编写了一个新的模板匹配库,并制定了一系列新的命令,这些命令不仅对代理逃离第一个房间有用,而且可以在该层的不同房间中推广。 46 | 47 | 就像 Breakout一样,我们从一个更简单的实验开始,而不是直接使用这些自然语言命令,我们首先奖励代理,以便简单地访问图1所示房间的不同手动指定位置。通过这种方法,我们在用尽我们的指令之前,能够达到400分的平均分数,并且一致地让代理离开第一个房间。这些结果对我们最终的目标是有希望的,因为它们证实了一些信息辅助奖励的来源有助于代理到达更远的地方。 48 | 49 | ### Dataset Generation 50 | 51 | 已经证明子任务奖励非常适合强化学习代理学习玩MONTEZUMA'SREVENGE,我们接下来的任务是生成一个数据集,以学习状态的自然语言描述与环境中的原始像素之间的映射。然而,没有这样的数据集存在,所以我们创建了我们自己的游戏状态到他们满意的自然语言描述的映射。为了做到这一点,我们在整个游戏中玩了几次,每次都保存了游戏状态的帧。利用模板匹配代码,我们可以生成一系列给定的连续帧所满足的选定命令列表。 52 | 53 | ### Learning Frame-Command Mappings with Bimodal Network 54 | 55 | 与Breakout一样,训练的第一阶段构成了在帧对之间创建多模式嵌入,描绘了附录A中的玩家运动和命令语句。嵌入训练使得当帧满足命令时,帧与命令嵌入之间存在正点积。当命令不满足时,点产品被训练为否定的。我们使用具有字级嵌入的LSTM来提取命令嵌入,并且使用卷积神经网络在堆叠在信道维度上的成对帧上运行来进行帧嵌入。 56 | 57 | #### Evidence of Generalization 58 | 59 | 考虑到双峰嵌入模型的复杂性及其对包含第一级所有房间的训练数据集的访问,我们想证明双峰实际上是在学习如何理解命令的含义,而不仅仅是要求代理处于与训练数据中完全相同的位置来将命令分类为完整的。 60 | 61 | ![](../../.gitbook/assets/image%20%28187%29.png) 62 | 63 | 嵌入方案似乎保持其极低的错误率,即使在训练期间没有观察到的房间测试时也是如此。 这提供了一些证据表明嵌入在一定程度上概括了整个房间,而不仅仅是房间内的行为。 64 | 65 | ### Run-Time Learning From Natural Language Reward Using Multimodal Embedding 66 | 67 | 随着多模态嵌入训练的完成,我们进入强化学习阶段。对于每个A3C worker,我们加载嵌入权重和代理列表以顺序完成。我们通过使用我们的预训练双峰嵌入来计算命令是否已完成,通过当前观察状态和当前命令来完成网络,并且如果结果帧和命令嵌入之间的点积为正,则将命令标记为已完成。如果我们注意到命令已经完成,我们会为我们的执行学习代理提供额外的奖励,以便成功完成任务并继续执行下一个命令,同时将嵌入作为附加功能提供给学习代理,如图4所示。 68 | 69 | ## 最终结果 70 | 71 | ![](../../.gitbook/assets/image%20%28167%29.png) 72 | 73 | -------------------------------------------------------------------------------- /fang-fa/ment-te-zu-ma-de-fu-chou/pixel-recurrent-neural-networks.md: -------------------------------------------------------------------------------- 1 | # Pixel Recurrent Neural Networks 2 | 3 | > [Pixel Recurrent Neural Networks](https://arxiv.org/pdf/1601.06759.pdf) 4 | 5 | 对自然图像的分布进行建模是无监督学习中的一个里程碑问题。这项任务需要一个具有表现力,易处理性和可扩展性的图像模型。存在一个深度神经网络,它沿着两个空间维度依次预测图像中的像素。 我们的方法模拟原始像素值的离散概率,并对图像中的完整依赖关系进行编码。 架构新颖性包括快速二维循环层和深度循环网络中残余连接的有效使用。 我们在自然图像上实现了对数似然得分,这比以前的技术水平要好得多。 我们的主要结果还提供了各种ImageNet dataset的基准测试。 从模型生成的样本清晰,多样且全局一致 6 | 7 | ## 方法 8 | 9 | ### Model 10 | 11 | 我们的目标是估计自然图像的分布,这可以用来合理地计算图像的可能性并生成新的图像。 网络一次扫描一行图像,每行一次扫描一个像素。 对于每个像素,它预测给定扫描上下文的可能像素值的条件分布。图2说明了该过程。 对图像像素的联合分布被分解为条件分布的乘积。 预测中使用的参数与图像中的所有像素共享。 12 | 13 | ![](../../.gitbook/assets/image.png) 14 | 15 | 为了捕捉生成过程,Theis&Bethge(2015)建议使用二维LSTM网络,该网络从左上角像素开始,向右下方像素。 LSTM网络的优势在于它有效地处理了对象和场景理解的核心的远程依赖性。 二维结构确保信号在从左到右和从上到下的方向上很好地传播。 16 | 17 | #### Generating an Image Pixel by Pixel 18 | 19 | 目标是给每个 $$n×n$$ 像素的图像 $$x$$ 指定一个概率 $$p(\mathbf{x})$$ 。为了估计联合分布,我们把它写成像素上条件分布的乘积: 20 | 21 | $$ 22 | p(\mathbf{x})=\prod_{i=1}^{n^{2}} p\left(x_{i} | x_{1}, \ldots, x_{i-1}\right) \ \ \ \ \ (1) 23 | $$ 24 | 25 | 每个像素依次由三个值共同确定,红色、绿色和蓝色通道各一个。我们将分布 $$p\left(x_{i} | \mathbf{x} [Scalable trust-region method for deep reinforcement learning using Kronecker-factored approximation](https://arxiv.org/pdf/1708.05144.pdf) 4 | 5 | 在这项工作中,我们建议用最近提出的Kronecker-factored approximation curvature将信赖域优化应用于深度强化学习。我们扩展了自然策略梯度的框架,提出了利用带信任区域的Kronecker-factored approximation curvature\(K-FAC\)来优化actor和critic;因此,我们此算法其称为Actor Critic using Kronecker-Factored Trust Region \(ACKTR\),据我们所知,这是Actor-Critic方法中第一个可扩展的信任区域自然梯度方法。它也是一种直接从原始像素输入中学习连续控制中的非平凡任务以及离散控制策略的方法。我们在Atari游戏中的离散域以及MuJoCo环境中的连续域中测试了我们的方法。使用所提出的方法,我们能够获得更高的回报,并比之前的最佳的on-policy的actor-critic样本效率平均提高2 - 3倍。 6 | 7 | ## 方法 8 | 9 | ### Natural gradient using Kronecker-factored approximation 10 | 11 | 假设神经网络输出一个分布 $$f(\theta)$$ ,为了最小化该分布相关的目标函数 $$\mathcal{J}(\theta)$$ ,最速下降法在有约束 $$\|\Delta \theta\|_{B}<1$$ 的情况下计算一个 $$\Delta \theta$$ 使得 $$\mathcal{J}(\theta+\Delta \theta)$$ 具有最小,其中 $$\|\cdot\| B$$ 是一个范数,即 $$\|x\|_{B}=\left(x^{T} B x\right)^{\frac{1}{2}}$$ ( $$B$$ 是一个半正定矩阵)。可以得到这个问题的解是: $$\Delta \theta \propto-B^{-1} \nabla_{\theta} \mathcal{J}$$ 。当$$B$$ 是单位矩阵 $$I$$ (即欧式范数)时,此方法又被称为梯度下降。然而这种欧式范数是依赖于参数 $$\theta$$ 的,即它体现的不是分布的距离而是参数 $$\theta$$ 的距离,如下图: 12 | 13 | ![](../../.gitbook/assets/image-106.png) 14 | 15 | 上下两图中,左右分布的参数距离均为2,但是他们的分布距离却截然不同,即上图重叠区小,下图重叠区大。因为这个范数是参数 $$\theta$$ 相关的,所以参数 $$\theta$$ 会影响优化的轨迹,这是不合理的,实际上应当只允许分布影响优化轨迹。 16 | 17 | 而费雪信息矩阵 $$F$$ 是 $$KL$$ 散度的二阶近似,他是独立于参数 $$\theta$$的,只与分布有关,所以利用费雪信息矩阵构建上面的范数约束,可以使得优化更加稳定和有效,这也被称为自然梯度。然而费雪矩阵的求逆是一个复杂所以不实际的操作,因此我们必须使用某种近似方法。 18 | 19 | Kronecker-factored approximate curvature \(K-FAC\)就是这样的一种方法。假设 $$p(y | x)$$ 是神经网络拟合的分布, $$L=\log p(y | x)$$ 即其似然函数。定义 $$W \in \mathbb{R}^{C_{\text {out}} \times C_{i n}}$$ 是神经网络第L层的权重参数,且 $$a \in \mathbb{R}^{C_{i n}}$$ 是L层的输入,有输出 $$s=W a$$ 。根据矩阵求导术可以得到标准梯度 $$\nabla_{W} L=\left(\nabla_{s} L\right) a^{\top}$$ ,K-FAC使用下面的近似方法计算神经网络第L层参数的费雪信息矩阵: 20 | 21 | $$\begin{aligned} F_{\ell} &=\mathbb{E}\left[\operatorname{vec}\left\{\nabla_{W} L\right\} \operatorname{vec}\left\{\nabla_{W} L\right\}^{\top}\right]=\mathbb{E}\left[a a^{\top} \otimes \nabla_{s} L\left(\nabla_{s} L\right)^{\top}\right] \\ & \approx \mathbb{E}\left[a a^{\top}\right] \otimes \mathbb{E}\left[\nabla_{s} L\left(\nabla_{s} L\right)^{\top}\right] :=A \otimes S :=\hat{F}_{\ell} \end{aligned}$$ 22 | 23 | 其中$$\otimes$$ 是Kronecker product: $$\mathbf{A} \otimes \mathbf{B}=\left[ \begin{array}{ccc}{a_{11} \mathbf{B}} & {\cdots} & {a_{1 n} \mathbf{B}} \\ {\vdots} & {\ddots} & {\vdots} \\ {a_{m 1} \mathbf{B}} & {\cdots} & {a_{m n} \mathbf{B}}\end{array}\right]$$ 24 | 25 | 又根据Kronecker product的性质 $$(P \otimes Q)^{-1}=P^{-1} \otimes Q^{-1} \text { and }(P \otimes Q) \operatorname{vec}(T)=P T Q^{\top}$$ ,可得自然梯度近似公式 26 | 27 | $$\operatorname{vec}(\Delta W)=\hat{F}_{\ell}^{-1} \operatorname{vec}\left\{\nabla_{W} \mathcal{J}\right\}=\operatorname{vec}\left(A^{-1} \nabla_{W} \mathcal{J} S^{-1}\right)$$ 28 | 29 | [从流形的角度理解自然梯度](https://www.cnblogs.com/tiny-player/p/3323973.html) 30 | 31 | [K-FAC的近似理论证明](https://arxiv.org/pdf/1503.05671.pdf) 32 | 33 | ### Natural gradient in actor-critic 34 | 35 | 本节介绍如何将自然梯度引入 actor-critic 算法中。actor网络的费雪信息矩阵如下: 36 | 37 | $$F=\mathbb{E}_{p(\tau)}\left[\nabla_{\theta} \log \pi\left(a_{t} | s_{t}\right)\left(\nabla_{\theta} \log \pi\left(a_{t} | s_{t}\right)\right)^{\top}\right]$$ 38 | 39 | 其中 $$p(\tau)$$是样本轨迹的分布,即 $$p\left(s_{0}\right) \prod_{t=0}^{T} \pi\left(a_{t} | s_{t}\right) p\left(s_{t+1} | s_{t}, a_{t}\right)$$ 。 40 | 41 | 而对于标准的critic网络,其输出值是一个标量而非分布,无法定义费雪信息矩阵,所以我们引入高斯分布来解决这个问题:假设critic的输出由 $$p(v | s_{t}) \sim \mathcal{N}\left(v ; V\left(s_{t}\right), \sigma^{2}\right)$$ 定义,于是我们便可以基于高斯分布定义相关的费雪信息矩阵。 42 | 43 | 如果actor和critic共用一个网络,我们假设网络的输出是一个联合分布 $$p(a, v | s)=\pi(a | s) p(v | s)$$ ,然后定义费雪信息矩阵为: 44 | 45 | $$\mathbb{E}_{p(\tau)}\left[\nabla \log p(a, v | s) \nabla \log p(a, v | s)^{T}\right]$$ 46 | 47 | 然后同步更新actor和critic 48 | 49 | ### Step-size Selection and trust-region optimization 50 | 51 | 对于随机梯度下降,参数的更新方式为$$\theta \leftarrow \theta-\eta F^{-1} \nabla_{\theta} L$$ ,但是在RL的环境中,有时候会出现大的更新步伐,导致算法过早收敛到接近确定性的策略。所以就出现了TRPO这种信任区域更新的方法,这里我们选择 $$\min \left(\eta_{\max }, \sqrt{\frac{2 \delta}{\Delta \theta \tau F \Delta \theta}}\right)$$ 作为学习速率 $$\eta$$ ,其中 $$\delta$$ 是半径超参。 52 | 53 | --------------------------------------------------------------------------------