├── .gitbook └── assets │ ├── 20180426113728916.gif │ ├── crftut-fnt.pdf │ ├── image (1).png │ ├── image (10).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 (11).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 (12).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 (13).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 (14).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 (15).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 (16).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 (17).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 (18).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 (19).png │ ├── image (190).png │ ├── image (191).png │ ├── image (192).png │ ├── image (193).png │ ├── image (194).png │ ├── image (195).png │ ├── image (196).png │ ├── image (197).png │ ├── image (198).png │ ├── image (199).png │ ├── image (2).png │ ├── image (20).png │ ├── image (200).png │ ├── image (201).png │ ├── image (202).png │ ├── image (203).png │ ├── image (204).png │ ├── image (205).png │ ├── image (206).png │ ├── image (207).png │ ├── image (208).png │ ├── image (209).png │ ├── image (21).png │ ├── image (210).png │ ├── image (211).png │ ├── image (212).png │ ├── image (213).png │ ├── image (214).png │ ├── image (215).png │ ├── image (216).png │ ├── image (217).png │ ├── image (218).png │ ├── image (219).png │ ├── image (22).png │ ├── image (220).png │ ├── image (221).png │ ├── image (222).png │ ├── image (223).png │ ├── image (224).png │ ├── image (225).png │ ├── image (226).png │ ├── image (227).png │ ├── image (228).png │ ├── image (229).png │ ├── image (23).png │ ├── image (230).png │ ├── image (231).png │ ├── image (232).png │ ├── image (233).png │ ├── image (234).png │ ├── image (235).png │ ├── image (236).png │ ├── image (237).png │ ├── image (238).png │ ├── image (239).png │ ├── image (24).png │ ├── image (240).png │ ├── image (241).png │ ├── image (242).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.png │ ├── word2vec-zhong-de-shu-xue (1).pdf │ └── word2vec-zhong-de-shu-xue.pdf ├── README.md ├── SUMMARY.md ├── juan-ji-wang-luo ├── deep-photo-style-transfer.md ├── feng-ge-qian-yi │ ├── README.md │ ├── a-neural-algorithm-of-artistic-style.md │ ├── arbitrary-style-transfer-in-real-time-with-adaptive-instance-normalization.md │ ├── deep-photo-style-transfer.md │ └── deepfake.md ├── juan-ji-wang-luo-jia-gou │ ├── README.md │ ├── deconvolutional-networks.md │ ├── densenet.md │ ├── mobilenet.md │ ├── resnet.md │ ├── shufflenet.md │ ├── spatial-transformer-network.md │ └── xception.md ├── mu-biao-jian-ce │ ├── README.md │ ├── fast-r-cnn.md │ ├── faster-r-cnn.md │ ├── light-head-r-cnn.md │ └── yolov3.md ├── ren-lian-shi-bie │ ├── README.md │ ├── deep-face-recognition.md │ └── deepface.md └── yu-yi-fen-ge │ ├── README.md │ ├── deeplab-v3.md │ ├── fcn.md │ └── mask-r-cnn.md ├── shen-ru-li-jie ├── juan-ji-wang-luo │ ├── README.md │ └── visualizing-and-understanding-convolutional-networks.md └── zhi-shi-zheng-liu │ ├── README.md │ └── distilling-the-knowledge-in-a-neural-network.md ├── sheng-cheng-mo-xing-wu-jian-du ├── sheng-cheng-dui-kang-wang-luo │ ├── README.md │ ├── conditional-generative-adversarial-nets.md │ ├── cyclegan.md │ └── dcgan.md └── zi-bian-ma-qi │ ├── README.md │ └── auto-encoding-variational-bayes.md ├── tong-ji-xue-xi ├── gai-lv-tu-mo-xing │ ├── README.md │ └── conditional-random-field.md ├── ji-cheng-xue-xi │ ├── README.md │ └── xgboost.md └── xian-xing-mo-xing │ ├── README.md │ └── factorization-machine.md ├── xun-huan-he-di-gui-wang-luo ├── ci-xiang-liang │ ├── README.md │ ├── bert.md │ └── glove.md ├── ji-qi-fan-yi │ ├── README.md │ ├── googles-neural-machine-translation-system-bridging-the-gap-between-human-and-machine-translation.md │ └── neural-machine-translation-by-jointly-learning-to-align-and-translate.md ├── qing-gan-fen-xi │ ├── README.md │ ├── convolutional-neural-networks-for-sentence-classification.md │ └── recurrent-convolutional-neural-networks-for-text-classification.md ├── shen-jing-tu-ling-ji │ ├── README.md │ ├── hybrid-computing-using-a-neural-network-with-dynamic-external-memory.md │ └── neural-turing-machines.md └── zhu-yi-li-ji-zhi │ ├── README.md │ ├── pointer-network.md │ └── transformer.md ├── ying-jian ├── cuda │ ├── README.md │ └── cuda-c-programming-guide │ │ ├── README.md │ │ ├── introduction.md │ │ ├── programming-interface.md │ │ └── programming-model.md └── fen-bu-shi-xun-lian │ ├── README.md │ └── ring-all-reduce.md ├── you-hua ├── chao-can-shu │ ├── README.md │ ├── on-large-batch-training-for-deep-learning-generalization-gap-and-sharp-minima.md │ └── xavier.md ├── xue-xi-fang-fa │ ├── README.md │ ├── efficient-backprop.md │ ├── l-bfgs.md │ ├── shi-yong-numpy-shi-xian-juan-ji-shen-jing-wang-luo-tui-dao-qian-he-fan-xiang-chuan-bo.md │ └── ti-du-xia-jiang.md └── zheng-ze-hua │ ├── README.md │ ├── batch-normalization.md │ ├── layer-normalization.md │ └── weight-normalization.md ├── yuan-xue-xi └── fine-tune │ ├── README.md │ ├── maml.md │ └── on-first-order-meta-learning-algorithms.md └── zi-dong-ji-qi-xue-xi ├── chao-can-shu ├── README.md ├── bayesian-optimization.md └── population-based-training-of-neural-networks.md └── shen-jing-jia-gou-sou-suo ├── README.md ├── amc.md ├── darts-differentiable-architecture-search.md ├── learning-transferable-architectures-for-scalable-image-recognition.md └── neural-architecture-search-with-reinforcement-learning.md /.gitbook/assets/20180426113728916.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/20180426113728916.gif -------------------------------------------------------------------------------- /.gitbook/assets/crftut-fnt.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/crftut-fnt.pdf -------------------------------------------------------------------------------- /.gitbook/assets/image (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (1).png -------------------------------------------------------------------------------- /.gitbook/assets/image (10).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (10).png -------------------------------------------------------------------------------- /.gitbook/assets/image (100).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (100).png -------------------------------------------------------------------------------- /.gitbook/assets/image (101).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (101).png -------------------------------------------------------------------------------- /.gitbook/assets/image (102).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (102).png -------------------------------------------------------------------------------- /.gitbook/assets/image (103).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (103).png -------------------------------------------------------------------------------- /.gitbook/assets/image (104).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (104).png -------------------------------------------------------------------------------- /.gitbook/assets/image (105).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (105).png -------------------------------------------------------------------------------- /.gitbook/assets/image (106).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (106).png -------------------------------------------------------------------------------- /.gitbook/assets/image (107).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (107).png -------------------------------------------------------------------------------- /.gitbook/assets/image (108).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (108).png -------------------------------------------------------------------------------- /.gitbook/assets/image (109).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (109).png -------------------------------------------------------------------------------- /.gitbook/assets/image (11).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (11).png -------------------------------------------------------------------------------- /.gitbook/assets/image (110).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (110).png -------------------------------------------------------------------------------- /.gitbook/assets/image (111).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (111).png -------------------------------------------------------------------------------- /.gitbook/assets/image (112).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (112).png -------------------------------------------------------------------------------- /.gitbook/assets/image (113).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (113).png -------------------------------------------------------------------------------- /.gitbook/assets/image (114).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (114).png -------------------------------------------------------------------------------- /.gitbook/assets/image (115).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (115).png -------------------------------------------------------------------------------- /.gitbook/assets/image (116).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (116).png -------------------------------------------------------------------------------- /.gitbook/assets/image (117).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (117).png -------------------------------------------------------------------------------- /.gitbook/assets/image (118).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (118).png -------------------------------------------------------------------------------- /.gitbook/assets/image (119).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (119).png -------------------------------------------------------------------------------- /.gitbook/assets/image (12).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (12).png -------------------------------------------------------------------------------- /.gitbook/assets/image (120).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (120).png -------------------------------------------------------------------------------- /.gitbook/assets/image (121).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (121).png -------------------------------------------------------------------------------- /.gitbook/assets/image (122).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (122).png -------------------------------------------------------------------------------- /.gitbook/assets/image (123).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (123).png -------------------------------------------------------------------------------- /.gitbook/assets/image (124).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (124).png -------------------------------------------------------------------------------- /.gitbook/assets/image (125).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (125).png -------------------------------------------------------------------------------- /.gitbook/assets/image (126).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (126).png -------------------------------------------------------------------------------- /.gitbook/assets/image (127).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (127).png -------------------------------------------------------------------------------- /.gitbook/assets/image (128).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (128).png -------------------------------------------------------------------------------- /.gitbook/assets/image (129).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (129).png -------------------------------------------------------------------------------- /.gitbook/assets/image (13).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (13).png -------------------------------------------------------------------------------- /.gitbook/assets/image (130).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (130).png -------------------------------------------------------------------------------- /.gitbook/assets/image (131).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (131).png -------------------------------------------------------------------------------- /.gitbook/assets/image (132).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (132).png -------------------------------------------------------------------------------- /.gitbook/assets/image (133).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (133).png -------------------------------------------------------------------------------- /.gitbook/assets/image (134).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (134).png -------------------------------------------------------------------------------- /.gitbook/assets/image (135).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (135).png -------------------------------------------------------------------------------- /.gitbook/assets/image (136).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (136).png -------------------------------------------------------------------------------- /.gitbook/assets/image (137).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (137).png -------------------------------------------------------------------------------- /.gitbook/assets/image (138).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (138).png -------------------------------------------------------------------------------- /.gitbook/assets/image (139).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (139).png -------------------------------------------------------------------------------- /.gitbook/assets/image (14).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (14).png -------------------------------------------------------------------------------- /.gitbook/assets/image (140).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (140).png -------------------------------------------------------------------------------- /.gitbook/assets/image (141).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (141).png -------------------------------------------------------------------------------- /.gitbook/assets/image (142).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (142).png -------------------------------------------------------------------------------- /.gitbook/assets/image (143).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (143).png -------------------------------------------------------------------------------- /.gitbook/assets/image (144).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (144).png -------------------------------------------------------------------------------- /.gitbook/assets/image (145).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (145).png -------------------------------------------------------------------------------- /.gitbook/assets/image (146).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (146).png -------------------------------------------------------------------------------- /.gitbook/assets/image (147).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (147).png -------------------------------------------------------------------------------- /.gitbook/assets/image (148).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (148).png -------------------------------------------------------------------------------- /.gitbook/assets/image (149).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (149).png -------------------------------------------------------------------------------- /.gitbook/assets/image (15).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (15).png -------------------------------------------------------------------------------- /.gitbook/assets/image (150).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (150).png -------------------------------------------------------------------------------- /.gitbook/assets/image (151).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (151).png -------------------------------------------------------------------------------- /.gitbook/assets/image (152).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (152).png -------------------------------------------------------------------------------- /.gitbook/assets/image (153).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (153).png -------------------------------------------------------------------------------- /.gitbook/assets/image (154).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (154).png -------------------------------------------------------------------------------- /.gitbook/assets/image (155).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (155).png -------------------------------------------------------------------------------- /.gitbook/assets/image (156).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (156).png -------------------------------------------------------------------------------- /.gitbook/assets/image (157).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (157).png -------------------------------------------------------------------------------- /.gitbook/assets/image (158).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (158).png -------------------------------------------------------------------------------- /.gitbook/assets/image (159).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (159).png -------------------------------------------------------------------------------- /.gitbook/assets/image (16).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (16).png -------------------------------------------------------------------------------- /.gitbook/assets/image (160).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (160).png -------------------------------------------------------------------------------- /.gitbook/assets/image (161).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (161).png -------------------------------------------------------------------------------- /.gitbook/assets/image (162).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (162).png -------------------------------------------------------------------------------- /.gitbook/assets/image (163).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (163).png -------------------------------------------------------------------------------- /.gitbook/assets/image (164).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (164).png -------------------------------------------------------------------------------- /.gitbook/assets/image (165).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (165).png -------------------------------------------------------------------------------- /.gitbook/assets/image (166).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (166).png -------------------------------------------------------------------------------- /.gitbook/assets/image (167).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (167).png -------------------------------------------------------------------------------- /.gitbook/assets/image (168).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (168).png -------------------------------------------------------------------------------- /.gitbook/assets/image (169).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (169).png -------------------------------------------------------------------------------- /.gitbook/assets/image (17).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (17).png -------------------------------------------------------------------------------- /.gitbook/assets/image (170).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (170).png -------------------------------------------------------------------------------- /.gitbook/assets/image (171).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (171).png -------------------------------------------------------------------------------- /.gitbook/assets/image (172).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (172).png -------------------------------------------------------------------------------- /.gitbook/assets/image (173).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (173).png -------------------------------------------------------------------------------- /.gitbook/assets/image (174).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (174).png -------------------------------------------------------------------------------- /.gitbook/assets/image (175).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (175).png -------------------------------------------------------------------------------- /.gitbook/assets/image (176).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (176).png -------------------------------------------------------------------------------- /.gitbook/assets/image (177).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (177).png -------------------------------------------------------------------------------- /.gitbook/assets/image (178).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (178).png -------------------------------------------------------------------------------- /.gitbook/assets/image (179).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (179).png -------------------------------------------------------------------------------- /.gitbook/assets/image (18).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (18).png -------------------------------------------------------------------------------- /.gitbook/assets/image (180).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (180).png -------------------------------------------------------------------------------- /.gitbook/assets/image (181).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (181).png -------------------------------------------------------------------------------- /.gitbook/assets/image (182).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (182).png -------------------------------------------------------------------------------- /.gitbook/assets/image (183).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (183).png -------------------------------------------------------------------------------- /.gitbook/assets/image (184).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (184).png -------------------------------------------------------------------------------- /.gitbook/assets/image (185).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (185).png -------------------------------------------------------------------------------- /.gitbook/assets/image (186).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (186).png -------------------------------------------------------------------------------- /.gitbook/assets/image (187).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (187).png -------------------------------------------------------------------------------- /.gitbook/assets/image (188).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (188).png -------------------------------------------------------------------------------- /.gitbook/assets/image (189).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (189).png -------------------------------------------------------------------------------- /.gitbook/assets/image (19).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (19).png -------------------------------------------------------------------------------- /.gitbook/assets/image (190).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (190).png -------------------------------------------------------------------------------- /.gitbook/assets/image (191).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (191).png -------------------------------------------------------------------------------- /.gitbook/assets/image (192).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (192).png -------------------------------------------------------------------------------- /.gitbook/assets/image (193).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (193).png -------------------------------------------------------------------------------- /.gitbook/assets/image (194).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (194).png -------------------------------------------------------------------------------- /.gitbook/assets/image (195).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (195).png -------------------------------------------------------------------------------- /.gitbook/assets/image (196).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (196).png -------------------------------------------------------------------------------- /.gitbook/assets/image (197).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (197).png -------------------------------------------------------------------------------- /.gitbook/assets/image (198).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (198).png -------------------------------------------------------------------------------- /.gitbook/assets/image (199).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (199).png -------------------------------------------------------------------------------- /.gitbook/assets/image (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (2).png -------------------------------------------------------------------------------- /.gitbook/assets/image (20).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (20).png -------------------------------------------------------------------------------- /.gitbook/assets/image (200).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (200).png -------------------------------------------------------------------------------- /.gitbook/assets/image (201).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (201).png -------------------------------------------------------------------------------- /.gitbook/assets/image (202).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (202).png -------------------------------------------------------------------------------- /.gitbook/assets/image (203).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (203).png -------------------------------------------------------------------------------- /.gitbook/assets/image (204).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (204).png -------------------------------------------------------------------------------- /.gitbook/assets/image (205).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (205).png -------------------------------------------------------------------------------- /.gitbook/assets/image (206).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (206).png -------------------------------------------------------------------------------- /.gitbook/assets/image (207).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (207).png -------------------------------------------------------------------------------- /.gitbook/assets/image (208).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (208).png -------------------------------------------------------------------------------- /.gitbook/assets/image (209).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (209).png -------------------------------------------------------------------------------- /.gitbook/assets/image (21).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (21).png -------------------------------------------------------------------------------- /.gitbook/assets/image (210).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (210).png -------------------------------------------------------------------------------- /.gitbook/assets/image (211).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (211).png -------------------------------------------------------------------------------- /.gitbook/assets/image (212).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (212).png -------------------------------------------------------------------------------- /.gitbook/assets/image (213).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (213).png -------------------------------------------------------------------------------- /.gitbook/assets/image (214).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (214).png -------------------------------------------------------------------------------- /.gitbook/assets/image (215).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (215).png -------------------------------------------------------------------------------- /.gitbook/assets/image (216).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (216).png -------------------------------------------------------------------------------- /.gitbook/assets/image (217).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (217).png -------------------------------------------------------------------------------- /.gitbook/assets/image (218).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (218).png -------------------------------------------------------------------------------- /.gitbook/assets/image (219).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (219).png -------------------------------------------------------------------------------- /.gitbook/assets/image (22).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (22).png -------------------------------------------------------------------------------- /.gitbook/assets/image (220).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (220).png -------------------------------------------------------------------------------- /.gitbook/assets/image (221).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (221).png -------------------------------------------------------------------------------- /.gitbook/assets/image (222).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (222).png -------------------------------------------------------------------------------- /.gitbook/assets/image (223).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (223).png -------------------------------------------------------------------------------- /.gitbook/assets/image (224).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (224).png -------------------------------------------------------------------------------- /.gitbook/assets/image (225).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (225).png -------------------------------------------------------------------------------- /.gitbook/assets/image (226).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (226).png -------------------------------------------------------------------------------- /.gitbook/assets/image (227).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (227).png -------------------------------------------------------------------------------- /.gitbook/assets/image (228).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (228).png -------------------------------------------------------------------------------- /.gitbook/assets/image (229).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (229).png -------------------------------------------------------------------------------- /.gitbook/assets/image (23).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (23).png -------------------------------------------------------------------------------- /.gitbook/assets/image (230).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (230).png -------------------------------------------------------------------------------- /.gitbook/assets/image (231).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (231).png -------------------------------------------------------------------------------- /.gitbook/assets/image (232).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (232).png -------------------------------------------------------------------------------- /.gitbook/assets/image (233).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (233).png -------------------------------------------------------------------------------- /.gitbook/assets/image (234).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (234).png -------------------------------------------------------------------------------- /.gitbook/assets/image (235).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (235).png -------------------------------------------------------------------------------- /.gitbook/assets/image (236).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (236).png -------------------------------------------------------------------------------- /.gitbook/assets/image (237).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (237).png -------------------------------------------------------------------------------- /.gitbook/assets/image (238).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (238).png -------------------------------------------------------------------------------- /.gitbook/assets/image (239).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (239).png -------------------------------------------------------------------------------- /.gitbook/assets/image (24).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (24).png -------------------------------------------------------------------------------- /.gitbook/assets/image (240).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (240).png -------------------------------------------------------------------------------- /.gitbook/assets/image (241).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (241).png -------------------------------------------------------------------------------- /.gitbook/assets/image (242).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (242).png -------------------------------------------------------------------------------- /.gitbook/assets/image (25).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (25).png -------------------------------------------------------------------------------- /.gitbook/assets/image (26).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (26).png -------------------------------------------------------------------------------- /.gitbook/assets/image (27).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (27).png -------------------------------------------------------------------------------- /.gitbook/assets/image (28).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (28).png -------------------------------------------------------------------------------- /.gitbook/assets/image (29).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (29).png -------------------------------------------------------------------------------- /.gitbook/assets/image (3).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (3).png -------------------------------------------------------------------------------- /.gitbook/assets/image (30).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (30).png -------------------------------------------------------------------------------- /.gitbook/assets/image (31).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (31).png -------------------------------------------------------------------------------- /.gitbook/assets/image (32).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (32).png -------------------------------------------------------------------------------- /.gitbook/assets/image (33).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (33).png -------------------------------------------------------------------------------- /.gitbook/assets/image (34).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (34).png -------------------------------------------------------------------------------- /.gitbook/assets/image (35).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (35).png -------------------------------------------------------------------------------- /.gitbook/assets/image (36).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (36).png -------------------------------------------------------------------------------- /.gitbook/assets/image (37).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (37).png -------------------------------------------------------------------------------- /.gitbook/assets/image (38).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (38).png -------------------------------------------------------------------------------- /.gitbook/assets/image (39).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (39).png -------------------------------------------------------------------------------- /.gitbook/assets/image (4).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (4).png -------------------------------------------------------------------------------- /.gitbook/assets/image (40).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (40).png -------------------------------------------------------------------------------- /.gitbook/assets/image (41).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (41).png -------------------------------------------------------------------------------- /.gitbook/assets/image (42).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (42).png -------------------------------------------------------------------------------- /.gitbook/assets/image (43).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (43).png -------------------------------------------------------------------------------- /.gitbook/assets/image (44).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (44).png -------------------------------------------------------------------------------- /.gitbook/assets/image (45).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (45).png -------------------------------------------------------------------------------- /.gitbook/assets/image (46).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (46).png -------------------------------------------------------------------------------- /.gitbook/assets/image (47).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (47).png -------------------------------------------------------------------------------- /.gitbook/assets/image (48).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (48).png -------------------------------------------------------------------------------- /.gitbook/assets/image (49).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (49).png -------------------------------------------------------------------------------- /.gitbook/assets/image (5).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (5).png -------------------------------------------------------------------------------- /.gitbook/assets/image (50).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (50).png -------------------------------------------------------------------------------- /.gitbook/assets/image (51).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (51).png -------------------------------------------------------------------------------- /.gitbook/assets/image (52).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (52).png -------------------------------------------------------------------------------- /.gitbook/assets/image (53).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (53).png -------------------------------------------------------------------------------- /.gitbook/assets/image (54).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (54).png -------------------------------------------------------------------------------- /.gitbook/assets/image (55).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (55).png -------------------------------------------------------------------------------- /.gitbook/assets/image (56).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (56).png -------------------------------------------------------------------------------- /.gitbook/assets/image (57).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (57).png -------------------------------------------------------------------------------- /.gitbook/assets/image (58).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (58).png -------------------------------------------------------------------------------- /.gitbook/assets/image (59).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (59).png -------------------------------------------------------------------------------- /.gitbook/assets/image (6).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (6).png -------------------------------------------------------------------------------- /.gitbook/assets/image (60).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (60).png -------------------------------------------------------------------------------- /.gitbook/assets/image (61).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (61).png -------------------------------------------------------------------------------- /.gitbook/assets/image (62).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (62).png -------------------------------------------------------------------------------- /.gitbook/assets/image (63).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (63).png -------------------------------------------------------------------------------- /.gitbook/assets/image (64).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (64).png -------------------------------------------------------------------------------- /.gitbook/assets/image (65).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (65).png -------------------------------------------------------------------------------- /.gitbook/assets/image (66).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (66).png -------------------------------------------------------------------------------- /.gitbook/assets/image (67).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (67).png -------------------------------------------------------------------------------- /.gitbook/assets/image (68).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (68).png -------------------------------------------------------------------------------- /.gitbook/assets/image (69).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (69).png -------------------------------------------------------------------------------- /.gitbook/assets/image (7).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (7).png -------------------------------------------------------------------------------- /.gitbook/assets/image (70).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (70).png -------------------------------------------------------------------------------- /.gitbook/assets/image (71).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (71).png -------------------------------------------------------------------------------- /.gitbook/assets/image (72).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (72).png -------------------------------------------------------------------------------- /.gitbook/assets/image (73).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (73).png -------------------------------------------------------------------------------- /.gitbook/assets/image (74).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (74).png -------------------------------------------------------------------------------- /.gitbook/assets/image (75).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (75).png -------------------------------------------------------------------------------- /.gitbook/assets/image (76).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (76).png -------------------------------------------------------------------------------- /.gitbook/assets/image (77).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (77).png -------------------------------------------------------------------------------- /.gitbook/assets/image (78).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (78).png -------------------------------------------------------------------------------- /.gitbook/assets/image (79).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (79).png -------------------------------------------------------------------------------- /.gitbook/assets/image (8).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (8).png -------------------------------------------------------------------------------- /.gitbook/assets/image (80).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (80).png -------------------------------------------------------------------------------- /.gitbook/assets/image (81).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (81).png -------------------------------------------------------------------------------- /.gitbook/assets/image (82).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (82).png -------------------------------------------------------------------------------- /.gitbook/assets/image (83).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (83).png -------------------------------------------------------------------------------- /.gitbook/assets/image (84).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (84).png -------------------------------------------------------------------------------- /.gitbook/assets/image (85).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (85).png -------------------------------------------------------------------------------- /.gitbook/assets/image (86).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (86).png -------------------------------------------------------------------------------- /.gitbook/assets/image (87).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (87).png -------------------------------------------------------------------------------- /.gitbook/assets/image (88).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (88).png -------------------------------------------------------------------------------- /.gitbook/assets/image (89).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (89).png -------------------------------------------------------------------------------- /.gitbook/assets/image (9).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (9).png -------------------------------------------------------------------------------- /.gitbook/assets/image (90).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (90).png -------------------------------------------------------------------------------- /.gitbook/assets/image (91).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (91).png -------------------------------------------------------------------------------- /.gitbook/assets/image (92).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (92).png -------------------------------------------------------------------------------- /.gitbook/assets/image (93).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (93).png -------------------------------------------------------------------------------- /.gitbook/assets/image (94).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (94).png -------------------------------------------------------------------------------- /.gitbook/assets/image (95).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (95).png -------------------------------------------------------------------------------- /.gitbook/assets/image (96).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (96).png -------------------------------------------------------------------------------- /.gitbook/assets/image (97).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (97).png -------------------------------------------------------------------------------- /.gitbook/assets/image (98).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (98).png -------------------------------------------------------------------------------- /.gitbook/assets/image (99).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image (99).png -------------------------------------------------------------------------------- /.gitbook/assets/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/image.png -------------------------------------------------------------------------------- /.gitbook/assets/word2vec-zhong-de-shu-xue (1).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/word2vec-zhong-de-shu-xue (1).pdf -------------------------------------------------------------------------------- /.gitbook/assets/word2vec-zhong-de-shu-xue.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hijkzzz/deep-learning-notes/07b63afa5ddf9a1f841c89d486a4072240a49ff9/.gitbook/assets/word2vec-zhong-de-shu-xue.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: '@gitbook' 3 | --- 4 | 5 | # 介绍 6 | 7 | ![](.gitbook/assets/image%20%2827%29.png) 8 | 9 | -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- 1 | # Table of contents 2 | 3 | * [介绍](README.md) 4 | 5 | ## 统计学习 6 | 7 | * [线性模型](tong-ji-xue-xi/xian-xing-mo-xing/README.md) 8 | * [Factorization Machine](tong-ji-xue-xi/xian-xing-mo-xing/factorization-machine.md) 9 | * [集成学习](tong-ji-xue-xi/ji-cheng-xue-xi/README.md) 10 | * [XGBoost](tong-ji-xue-xi/ji-cheng-xue-xi/xgboost.md) 11 | * [概率图模型](tong-ji-xue-xi/gai-lv-tu-mo-xing/README.md) 12 | * [Conditional Random Field](tong-ji-xue-xi/gai-lv-tu-mo-xing/conditional-random-field.md) 13 | 14 | ## 优化 15 | 16 | * [学习方法](you-hua/xue-xi-fang-fa/README.md) 17 | * [Efficient BackProp](you-hua/xue-xi-fang-fa/efficient-backprop.md) 18 | * [使用Numpy实现卷积神经网络(推导前馈和反向传播)](you-hua/xue-xi-fang-fa/shi-yong-numpy-shi-xian-juan-ji-shen-jing-wang-luo-tui-dao-qian-he-fan-xiang-chuan-bo.md) 19 | * [梯度下降](you-hua/xue-xi-fang-fa/ti-du-xia-jiang.md) 20 | * [L-BFGS](you-hua/xue-xi-fang-fa/l-bfgs.md) 21 | * [正则化/归一化](you-hua/zheng-ze-hua/README.md) 22 | * [Batch Normalization](you-hua/zheng-ze-hua/batch-normalization.md) 23 | * [Layer Normalization](you-hua/zheng-ze-hua/layer-normalization.md) 24 | * [Weight Normalization](you-hua/zheng-ze-hua/weight-normalization.md) 25 | * [超参数](you-hua/chao-can-shu/README.md) 26 | * [Xavier](you-hua/chao-can-shu/xavier.md) 27 | * [Sharp Minima](you-hua/chao-can-shu/on-large-batch-training-for-deep-learning-generalization-gap-and-sharp-minima.md) 28 | 29 | ## 卷积网络 30 | 31 | * [卷积网络架构](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/README.md) 32 | * [Deconvolutional Networks](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/deconvolutional-networks.md) 33 | * [Spatial transformer network](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/spatial-transformer-network.md) 34 | * [ResNet](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/resnet.md) 35 | * [Xception](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/xception.md) 36 | * [DenseNet](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/densenet.md) 37 | * [ShuffleNet](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/shufflenet.md) 38 | * [MobileNetV2](juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/mobilenet.md) 39 | * [目标检测](juan-ji-wang-luo/mu-biao-jian-ce/README.md) 40 | * [Fast R-CNN](juan-ji-wang-luo/mu-biao-jian-ce/fast-r-cnn.md) 41 | * [Faster R-CNN](juan-ji-wang-luo/mu-biao-jian-ce/faster-r-cnn.md) 42 | * [YOLOv3](juan-ji-wang-luo/mu-biao-jian-ce/yolov3.md) 43 | * [Light-Head R-CNN](juan-ji-wang-luo/mu-biao-jian-ce/light-head-r-cnn.md) 44 | * [语义分割](juan-ji-wang-luo/yu-yi-fen-ge/README.md) 45 | * [FCN](juan-ji-wang-luo/yu-yi-fen-ge/fcn.md) 46 | * [DeepLab V3+](juan-ji-wang-luo/yu-yi-fen-ge/deeplab-v3.md) 47 | * [Mask R-CNN](juan-ji-wang-luo/yu-yi-fen-ge/mask-r-cnn.md) 48 | * [风格迁移](juan-ji-wang-luo/feng-ge-qian-yi/README.md) 49 | * [A Neural Algorithm of Artistic Style](juan-ji-wang-luo/feng-ge-qian-yi/a-neural-algorithm-of-artistic-style.md) 50 | * [Deep Photo Style Transfer](juan-ji-wang-luo/feng-ge-qian-yi/deep-photo-style-transfer.md) 51 | * [Adaptive Instance Normalization](juan-ji-wang-luo/feng-ge-qian-yi/arbitrary-style-transfer-in-real-time-with-adaptive-instance-normalization.md) 52 | * [Fast Face-swap](juan-ji-wang-luo/feng-ge-qian-yi/deepfake.md) 53 | * [人脸识别](juan-ji-wang-luo/ren-lian-shi-bie/README.md) 54 | * [DeepFace](juan-ji-wang-luo/ren-lian-shi-bie/deepface.md) 55 | * [Deep Face Recognition](juan-ji-wang-luo/ren-lian-shi-bie/deep-face-recognition.md) 56 | 57 | ## 循环和递归网络 58 | 59 | * [词向量](xun-huan-he-di-gui-wang-luo/ci-xiang-liang/README.md) 60 | * [Word2Vec](xun-huan-he-di-gui-wang-luo/ci-xiang-liang/glove.md) 61 | * [BERT](xun-huan-he-di-gui-wang-luo/ci-xiang-liang/bert.md) 62 | * [机器翻译](xun-huan-he-di-gui-wang-luo/ji-qi-fan-yi/README.md) 63 | * [Neural Machine Translation](xun-huan-he-di-gui-wang-luo/ji-qi-fan-yi/neural-machine-translation-by-jointly-learning-to-align-and-translate.md) 64 | * [Google's neural machine translation system](xun-huan-he-di-gui-wang-luo/ji-qi-fan-yi/googles-neural-machine-translation-system-bridging-the-gap-between-human-and-machine-translation.md) 65 | * [注意力机制](xun-huan-he-di-gui-wang-luo/zhu-yi-li-ji-zhi/README.md) 66 | * [Transformer](xun-huan-he-di-gui-wang-luo/zhu-yi-li-ji-zhi/transformer.md) 67 | * [Pointer Network](xun-huan-he-di-gui-wang-luo/zhu-yi-li-ji-zhi/pointer-network.md) 68 | * [文本分类](xun-huan-he-di-gui-wang-luo/qing-gan-fen-xi/README.md) 69 | * [CNN](xun-huan-he-di-gui-wang-luo/qing-gan-fen-xi/convolutional-neural-networks-for-sentence-classification.md) 70 | * [RCNN](xun-huan-he-di-gui-wang-luo/qing-gan-fen-xi/recurrent-convolutional-neural-networks-for-text-classification.md) 71 | * [神经图灵机](xun-huan-he-di-gui-wang-luo/shen-jing-tu-ling-ji/README.md) 72 | * [Neural turing machines](xun-huan-he-di-gui-wang-luo/shen-jing-tu-ling-ji/neural-turing-machines.md) 73 | * [Dynamic External Memory](xun-huan-he-di-gui-wang-luo/shen-jing-tu-ling-ji/hybrid-computing-using-a-neural-network-with-dynamic-external-memory.md) 74 | 75 | ## 生成模型/无监督 76 | 77 | * [生成对抗网络](sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/README.md) 78 | * [CGAN](sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/conditional-generative-adversarial-nets.md) 79 | * [DCGAN](sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/dcgan.md) 80 | * [CycleGAN](sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/cyclegan.md) 81 | * [自编码器](sheng-cheng-mo-xing-wu-jian-du/zi-bian-ma-qi/README.md) 82 | * [Auto-encoding variational Bayes](sheng-cheng-mo-xing-wu-jian-du/zi-bian-ma-qi/auto-encoding-variational-bayes.md) 83 | 84 | ## 深入理解 85 | 86 | * [卷积网络](shen-ru-li-jie/juan-ji-wang-luo/README.md) 87 | * [Visualizing and Understanding Convolutional Networks](shen-ru-li-jie/juan-ji-wang-luo/visualizing-and-understanding-convolutional-networks.md) 88 | * [模型蒸馏](shen-ru-li-jie/zhi-shi-zheng-liu/README.md) 89 | * [Distilling the knowledge in a neural network](shen-ru-li-jie/zhi-shi-zheng-liu/distilling-the-knowledge-in-a-neural-network.md) 90 | 91 | ## 元学习 92 | 93 | * [Fine-tune](yuan-xue-xi/fine-tune/README.md) 94 | * [On First-Order Meta-Learning Algorithms](yuan-xue-xi/fine-tune/on-first-order-meta-learning-algorithms.md) 95 | * [MAML](yuan-xue-xi/fine-tune/maml.md) 96 | 97 | ## 自动机器学习 98 | 99 | * [超参数](zi-dong-ji-qi-xue-xi/chao-can-shu/README.md) 100 | * [Bayesian Optimization](zi-dong-ji-qi-xue-xi/chao-can-shu/bayesian-optimization.md) 101 | * [PBT](zi-dong-ji-qi-xue-xi/chao-can-shu/population-based-training-of-neural-networks.md) 102 | * [神经架构搜索](zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/README.md) 103 | * [NAS](zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/neural-architecture-search-with-reinforcement-learning.md) 104 | * [NASNet](zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/learning-transferable-architectures-for-scalable-image-recognition.md) 105 | * [DARTS](zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/darts-differentiable-architecture-search.md) 106 | * [AMC](zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/amc.md) 107 | 108 | ## 硬件 109 | 110 | * [CUDA](ying-jian/cuda/README.md) 111 | * [CUDA C Programming Guide](ying-jian/cuda/cuda-c-programming-guide/README.md) 112 | * [Introduction](ying-jian/cuda/cuda-c-programming-guide/introduction.md) 113 | * [Programming Model](ying-jian/cuda/cuda-c-programming-guide/programming-model.md) 114 | * [Programming Interface](ying-jian/cuda/cuda-c-programming-guide/programming-interface.md) 115 | * [分布式训练](ying-jian/fen-bu-shi-xun-lian/README.md) 116 | * [Ring All Reduce](ying-jian/fen-bu-shi-xun-lian/ring-all-reduce.md) 117 | 118 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/deep-photo-style-transfer.md: -------------------------------------------------------------------------------- 1 | # Deep Photo Style Transfer 2 | 3 | 4 | 5 | > [Deep Photo Style Transfer](https://arxiv.org/pdf/1703.07511.pdf) 6 | 7 | 本文介绍了一种深度学习的照片风格转换方法,该方法在忠实地转换参考风格的同时处理各种各样的图像内容。我们的方法建立在最近关于绘画转移的工作基础上,通过考虑神经网络的不同层,将风格从图像内容中分离出来。然而,这种方法并不适用于照片真实感风格的转换。即使当输入图像和参考图像都是照片时,输出仍然表现出令人想起照片的失真。我们的贡献是将从输入到输出的变换约束在颜色空间中是局部仿射的,并将这个约束表示为自定义的完全微分能量项。我们表明,这种方法成功地压制了失真,并在各种场景中产生了令人满意的照片真实感风格转换,包括一天中时间、天气、季节和艺术编辑的转换。 8 | 9 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/feng-ge-qian-yi/README.md: -------------------------------------------------------------------------------- 1 | # 风格迁移 2 | 3 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/feng-ge-qian-yi/a-neural-algorithm-of-artistic-style.md: -------------------------------------------------------------------------------- 1 | # A Neural Algorithm of Artistic Style 2 | 3 | > [A Neural Algorithm of Artistic Style](https://arxiv.org/abs/1508.06576) 4 | 5 | 在美术领域,尤其是绘画领域,人类已经掌握了通过在一幅图像的内容和风格之间构成复杂的相互作用来创造独特视觉体验的技能。到目前为止,这一过程的算法基础尚不清楚,也不存在具有类似能力的人工系统。然而,在视觉感知的其他关键领域,例如物体和面部识别,最近一类被称为深度神经网络的生物启发视觉模型证明了接近人类的表现。这里我们介绍一个基于深度神经网络的人工系统,它可以创建高感知质量的艺术图像。该系统利用神经表示分离和重组任意图像的内容和风格,为艺术图像的创作提供神经算法。此外,鉴于性能优化的人工神经网络和生物视觉之间的惊人相似性,我们的工作提供了一条通向人类如何创造和感知艺术意象的算法基础的道路。 6 | 7 | ## 方法 8 | 9 | ### VGG 10 | 11 | ![](../../.gitbook/assets/image%20%28128%29.png) 12 | 13 | ![](../../.gitbook/assets/image%20%28113%29.png) 14 | 15 | 如上图,作者通过可视化卷积层的输出发现,卷积神经网络的深层输出图片的语义信息,而浅层输出图片的风格信息。所以风格迁移的关键思想是使输出图片的语义信息近似给定内容图,风格信息近似给定风格图。 16 | 17 | ### 损失函数 18 | 19 | #### 语义损失 20 | 21 | 直接用特征图的距离作为损失 22 | 23 | $$ 24 | \mathcal{L}_{\text {content}}(\vec{p}, \vec{x}, l)=\frac{1}{2} \sum_{i, j}\left(F_{i j}^{l}-P_{i j}^{l}\right)^{2} 25 | $$ 26 | 27 | 其中$$l$$为所使用的卷积层,即:conv4\_2 28 | 29 | 对应的梯度 30 | 31 | $$ 32 | \frac{\partial \mathcal{L}_{\text {content}}}{\partial F_{i j}^{l}}=\left\{\begin{array}{ll}{\left(F^{l}-P^{l}\right)_{i j}} & {\text { if } F_{i j}^{l}>0} \\ {0} & {\text { if } F_{i j}^{l}<0}\end{array}\right. 33 | $$ 34 | 35 | #### 风格损失 36 | 37 | 这里用到了Gram matrix度量两张图片的风格距离 38 | 39 | $$ 40 | G_{i j}^{l}=\sum_{k} F_{i k}^{l} F_{j k}^{l} 41 | $$ 42 | 43 | Gram Matrix可看做是图像各特征之间的偏心协方差矩阵(即没有减去均值的协方差矩阵),Gram计算的是两两特征之间的相关性,哪两个特征是同时出现的,哪两个是此消彼长的等等。另一方面,Gram的对角线元素,还体现了每个特征在图像中出现的量,因此,Gram矩阵可以度量各个维度自己的特性以及各个维度之间的关系,所以可以反映整个图像的大体风格。只需要比较Gram矩阵就可以比较两个图像的风格差异了 44 | 45 | $$ 46 | E_{l}=\frac{1}{4 N_{l}^{2} M_{l}^{2}} \sum_{i, j}\left(G_{i j}^{l}-A_{i j}^{l}\right)^{2} 47 | $$ 48 | 49 | $$ 50 | \mathcal{L}_{s t y l e}(\vec{a}, \vec{x})=\sum_{l=0}^{L} w_{l} E_{l} 51 | $$ 52 | 53 | 其中$$l$$为使用的卷积层,即:conv1\_1’, ‘conv2\_1’, ‘conv3\_1’, ‘conv4\_1’ and ‘conv5\_1, $$w_l=1/5$$ 54 | 55 | 对应的梯度 56 | 57 | $$ 58 | \frac{\partial E_{l}}{\partial F_{i j}^{l}}=\left\{\begin{array}{ll}{\frac{1}{N_{t}^{2} M_{t}^{2}}\left(\left(F^{l}\right)^{\mathrm{T}}\left(G^{l}-A^{l}\right)\right)_{j i}} & {\text { if } F_{i j}^{l}>0} \\ {0} & {\text { if } F_{i j}^{l}<0}\end{array}\right. 59 | $$ 60 | 61 | #### 整体损失 62 | 63 | $$ 64 | \mathcal{L}_{\text {total}}(\vec{p}, \vec{a}, \vec{x})=\alpha \mathcal{L}_{\text {content}}(\vec{p}, \vec{x})+\beta \mathcal{L}_{\text {style}}(\vec{a}, \vec{x}) 65 | $$ 66 | 67 | ### 训练 68 | 69 | 我们对白噪声图像执行梯度下降,以找到与原始图像的特征响应相匹配的另一幅图像。 70 | 71 | ## 效果 72 | 73 | ![](../../.gitbook/assets/image%20%28186%29.png) 74 | 75 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/feng-ge-qian-yi/arbitrary-style-transfer-in-real-time-with-adaptive-instance-normalization.md: -------------------------------------------------------------------------------- 1 | # Adaptive Instance Normalization 2 | 3 | > [Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization](https://arxiv.org/abs/1703.06868) 4 | 5 | Gatys等人最近引入了一种神经算法,以另一幅图像的风格渲染内容图像,实现所谓的风格转换。然而,他们的框架需要一个缓慢的迭代优化过程,这限制了它的实际应用。已经提出了具有前馈神经网络的近似值以加速神经类型转移。不幸的是,速度提升需要付出代价:网络通常与固定的样式相关联,并且无法适应任意新的样式。 在本文中,我们提出了一种简单而有效的方法,它首次实现了任意样式传输。我们方法的核心是一个新颖的自适应实例规范化(AdaIN)层,它将内容特征的均值和方差与样式特征的均值和方差对齐。我们的方法实现了与现有最快方法相当的速度,而没有对预定义样式集的限制。另外,我们的方法允许灵活的用户控制,例如内容式权衡,样式插值,颜色和空间控制,所有这些都使用单个前馈神经网络。 6 | 7 | ## 方法 8 | 9 | ### Instance Normalization 10 | 11 | ![](../../.gitbook/assets/image%20%2847%29.png) 12 | 13 | 与BN层不同,这里 $$μ(x)$$ 和 $$σ(x)$$ 在每个样本的每个通道上独立地跨空间维度进行计算: 14 | 15 | ![](../../.gitbook/assets/image%20%28112%29.png) 16 | 17 | ![](../../.gitbook/assets/image%20%28111%29.png) 18 | 19 | ### Conditional Instance Normalization 20 | 21 | Dumoulinet提出了一种条件实例正则化(CIN)层,它为每种样式 $$s$$ 学习一组不同的参数$$\gamma^s$$ 和 $$\beta^s$$ ,而不是只学习一组仿射参数 $$\gamma$$ 和 $$\beta$$ 。令人惊讶的是,网络可以通过使用相同的卷积参数生成不完全不同风格的图像但IN层中的不同参数。 22 | 23 | ![](../../.gitbook/assets/image%20%28175%29.png) 24 | 25 | 与没有归一化层的网络相比,具有CIN层的网络需要 $$2FS$$ 个附加参数,其中 $$F$$ 是网络中特征图的总数。由于附加参数的数量与样式的数量成线性比例,因此扩展它们的方法来对大量样式\(例如数万个\)建模是一个挑战。此外,如果不重新训练网络,他们的方法无法适应新的风格。 26 | 27 | ### Interpreting Instance Normalization 28 | 29 | 尽管\(条件\)实例规范化取得了巨大的成功,但它们在样式转换方面特别有效的原因仍然难以解释。Ulyanov认为IN的成功在于其对图像对比度的不变性。然而,IN发生在特征空间中,因此它应该比像素空间中的简单对比度归一化具有更深刻的影响。 也许更令人惊讶的是,IN中的仿射参数完全改变了输出图像的样式。 30 | 31 | 众所周知,DNN的卷积特征统计可以捕捉图像\[的风格。而盖特·艾尔使用二阶统计量作为它们的优化目标。最近显示,与许多其他统计数据相匹配,包括channel-wise mean和variance,对于风格转换也是有效的。通过这些观察得出的结论,我们认为实例正规化通过对特征统计进行正规化来实现一种风格规范化,即均值和方差。尽管DNN是图像描述者,但我们相信网络的特征统计可以控制生成图像的风格。 32 | 33 | 我们进行了以下实验:即测试对比度归一化和风格归一化后IN的影响力,结果表明IN在风格化归一化后效果变差,所以也说明了IN本身的作用就是风格归一化。 34 | 35 | ![](../../.gitbook/assets/image%20%2838%29.png) 36 | 37 | ### Adaptive Instance Normalization 38 | 39 | 如果IN将输入规范化为仿射参数指定的单一样式,是否可以通过使用自适应仿射变换使其适应任意的样式? 在这里,我们提出了一个简单的IN扩展,我们称之为adaptive实例规范化(AdaIN)。AdaIN接收内容输入x和样式输入y,并简单地将x的通道均值和方差对齐以匹配y。与BN,IN或CIN不同,AdaIN没有可学习的仿射参数。相反,它从样式输入中自适应地计算仿射参数。 40 | 41 | ![](../../.gitbook/assets/image%20%2853%29.png) 42 | 43 | 直观地说,让我们考虑一个检测特定风格的画笔笔迹的特征通道。具有这种笔画的样式图像将为该特征产生高平均激活。AdaIN生成的输出将具有相同的高平均激活功能,同时保留内容图像的空间结构。笔画特征可以通过前馈解码器转换到图像空间,此通道的方差可以编码更细微的样式信息,也可以转移到AdaIN输出和最终输出图像。 44 | 45 | 简而言之,AdaIN通过传递特征统计数据,特别是通道均值和方差,在特征空间中执行样式传递。 46 | 47 | ### Experimental Setup 48 | 49 | ![](../../.gitbook/assets/image%20%28229%29.png) 50 | 51 | #### Loss Function 52 | 53 | 整体损失氛围内容损失和风格损失 54 | 55 | ![](../../.gitbook/assets/image%20%2883%29.png) 56 | 57 | 内容损失是目标特征和输出图像特征之间的欧几里德距离。我们使用AdaIN输出内容目标,而不是常用的内容图像的特征响应。我们发现这导致了稍微更快的收敛,并且没有反转AdaIN输出的目标 58 | 59 | ![](../../.gitbook/assets/image%20%2822%29.png) 60 | 61 | 由于我们的AdaIN图层仅传递样式特征的均值和标准偏差,因此我们的样式丢失仅匹配这些统计信息。虽然我们发现常用的Gram矩阵损失可以产生类似的结果,但我们对IN统计数据进行了匹配,因为它在概念上更清晰: 62 | 63 | ![](../../.gitbook/assets/image%20%28202%29.png) 64 | 65 | 其中每个φ标识VGG-19中的一层,用于计算样式损失 66 | 67 | ## 效果 68 | 69 | ![](../../.gitbook/assets/image%20%28155%29.png) 70 | 71 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/feng-ge-qian-yi/deep-photo-style-transfer.md: -------------------------------------------------------------------------------- 1 | # Deep Photo Style Transfer 2 | 3 | > [Deep Photo Style Transfer](https://arxiv.org/pdf/1703.07511.pdf) 4 | 5 | 本文介绍了一种深度学习的照片风格转换方法,该方法在忠实地转换参考风格的同时处理各种各样的图像内容。我们的方法建立在最近关于绘画转移的工作基础上,通过考虑神经网络的不同层,将风格从图像内容中分离出来。然而,这种方法并不适用于照片真实感风格的转换。即使当输入图像和参考图像都是照片时,输出仍然表现出令人想起照片的失真。我们的贡献是将从输入到输出的变换约束在颜色空间中是局部仿射的,并将这个约束表示为自定义的完全微分能量项。我们表明,这种方法成功地压制了失真,并在各种场景中产生了令人满意的照片真实感风格转换,包括一天中时间、天气、季节和艺术编辑的转换。 6 | 7 | ![](../../.gitbook/assets/image%20%2816%29.png) 8 | 9 | ## 方法 10 | 11 | 我们的算法采用两个图像:输入图像,通常是普通照片,参考风格图像。 我们试图将参考的风格转化为输入,同时保持结构的真实感。 我们的方法通过引入两个核心思想来增强NeuralStyle算法\[5\]: 12 | 13 | 1. 在优化过程中,我们在目标函数中提出了一个超写实主义正则项,将重构图像约束为由输入的局部仿射颜色变换来表示,以防止失真。 14 | 2. 我们基于输入的语义分割(类似于\[2\])引入了对样式转移过程的可选指导,以避免内容不匹配问题,这极大地改善了结果的真实感。 15 | 16 | ### Background 17 | 18 | Neural Style Transfer 的损失函数,请参考上一篇文章 19 | 20 | ![](../../.gitbook/assets/image%20%287%29.png) 21 | 22 | ### Photorealism regularization 23 | 24 | 我们现在描述如何调整这个优化方案以保持输入图像的结构并产生逼真的输出。我们的约束不是直接加在输出图像上,而是在应用于输入图片的转换上。如何表征真实感图像的空间是一个尚未解决的问题。我们的观点是,如果我们利用输入已经是逼真的这一事实,我们就不需要解决它。我们的策略是通过在方程1\(a\)中添加一项来惩罚图像失真,以确保在传输过程中不会丢失此属性。我们的解决方案是寻找在色彩空间中局部仿射的图像变换,也就是说,对于每个输出patch,都有一个将输入RGB值映射到其输出对应点的仿射函数函数。每个patch可以具有不同的函数,这允许空间变化。 为了获得直觉,人们可以考虑边缘patch。 RGB通道的一组结合组合跨越了广泛的变化集,但是边缘本身不能移动,因为它位于所有通道中的相同位置。 25 | 26 | 我们建立在[Levinet al的Matting Laplacian的基础上 ](http://webee.technion.ac.il/people/anat.levin/papers/Matting-Levin-Lischinski-Weiss-CVPR06.pdf)\[9\]。他们已经展示了如何表达灰度遮罩作为输入RGB通道的局部仿射组合。他们描述了最小二乘罚函数,可以用由一个矩阵 $$\mathcal{M}_{I}$$ \(仅取决于输入图像\)表示的标准线性系统最小化: 27 | 28 | ![](../../.gitbook/assets/image%20%2861%29.png) 29 | 30 | V表示输出图像通道向量化,梯度为 31 | 32 | $$ 33 | \frac{\mathrm{d} \mathcal{C}_{m}}{\mathrm{d} V_{c}[O]}=2 \mathcal{M}_{I} V_{c}[O] 34 | $$ 35 | 36 | ### Augmented style loss with semantic segmentation 37 | 38 | 风格项(方程1c)的定义是在整个图像上计算Gram矩阵。由于Gram矩阵将其构成向量确定为isometry\[18\],它会明确地编码神经反应的精确分布,这限制了其适应语义上下文变化的能力,并可能导致“溢出效应”。我们用类似于Neural Doodle\[1\]和语义分割方法\[3\]的方法来解决这个问题,以生成用于一组公共标签(天空,建筑物,水等)的输入和参考图像的图像分割掩模。我们将掩码作为附加通道添加到输入图像中,并增强神经风格算法,通过连接分割通道和更新风格损失如下: 39 | 40 | ![](../../.gitbook/assets/image%20%2876%29.png) 41 | 42 | 其中 $$C$$ 是语义分割掩码中的通道数, $$M_{\ell, c}[\cdot]$$ 表示 $$l$$ 层中分割掩码的通道 $$c$$ , $$G_{\ell, c}[\cdot]$$ 是Gram矩阵对应于 $$F_{\ell, c}[\cdot]$$ 。我们对掩码进行下采样,以匹配卷积神经网络每层的特征映射空间大小。为了避免仅出现在输入图像中的“孤立语义标签”,我们将输入语义标签限制在参考样式图像的标签中。虽然从语义角度来看这可能会导致错误的标签,但选定的标签在我们的上下文中通常是等同的,例如“湖”和“海”。我们还观察到分割不需要像素精确,因为最终输出受到我们正则化的约束。 43 | 44 | ### Finally 45 | 46 | ![](../../.gitbook/assets/image%20%28115%29.png) 47 | 48 | ## 实验 49 | 50 | ![](../../.gitbook/assets/image%20%2875%29.png) 51 | 52 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/feng-ge-qian-yi/deepfake.md: -------------------------------------------------------------------------------- 1 | # Fast Face-swap 2 | 3 | > [Fast Face-swap Using Convolutional Neural Networks](https://arxiv.org/abs/1611.09577) 4 | 5 | 我们考虑图像中的人脸交换问题,其中输入身份被转换成目标身份,同时保持姿态、面部表情和光照。为了执行这种映射,我们使用卷积神经网络来从他/她的照片的非结构化集合中捕获目标身份的外观。这种方法是通过根据风格转换来构建面部交换问题来实现的,其中的目标是以另一个图像的风格来保留一个图像。基于这一领域的最新进展,我们设计了一种新的损失函数,使网络能够产生高度逼真的结果。通过将神经网络与简单的预处理和后处理步骤相结合,我们的目标是在没有用户输入的情况下使面部交换实时工作。 6 | 7 | ![](../../.gitbook/assets/image%20%2856%29.png) 8 | 9 | ## 方法 10 | 11 | ![](../../.gitbook/assets/image%20%28131%29.png) 12 | 13 | 拥有人A的形象,我们希望将他/她的身份转化为人B的身份,同时保持头部和表达以及照明条件的完整。在风格转移方面,我们将输入图像A的姿势和表达视为内容,并输入 图像B的标识是风格。 14 | 15 | 我们使用由权重参数化的卷积神经网络来转换内容图像 $$\hat{\mathbf{x}}=f_{\mathbf{W}}(\mathbf{x})$$ 。与以前的工作不同,我们假设我们得到的不是一幅而是一组风格的图像,我们用 $$Y={y_1, ..., y_N}$$ 。这些图像描述了我们想要匹配的身份,并且仅在网络训练期间使用。 16 | 17 | 我们的系统有两个额外的组件,表面对齐和背景/头发/皮肤分割。 我们假设所有图像(内容和样式)都与正面视图参考面对齐。这是使用仿形变换实现的,该变换将给定图像中的68个面部关键点与参考关键点对齐。使用dlib提取面部关键点。分割用于重新存储输入图像的背景和头发。我们使用了OpenCV 中提供的无缝克隆技术来缝合背景和结果面交换的图像,虽然存在快速且相对准确的分割方法,包括一些基于神经网络的方法。 18 | 19 | ### Transformation network 20 | 21 | ![](../../.gitbook/assets/image%20%2835%29.png) 22 | 23 | 图3中的网络是为128×128输入而设计的,有1M个参数。对于较大的输入,例如256×256或512×512,可以直接推断额外分支的架构。网络输出仅从具有最高分辨率的分支获得。 24 | 25 | ### Loss functions 26 | 27 | 对于每个输入图像 $$x$$ ,我们的目标是产生 $$\widehat{x}$$ ,共同小化以下内容和风格损失。 这些损失在19层VGG网络的正规化版本的特征空间中定义。 28 | 29 | #### Content loss 30 | 31 | 内容损失通过VGG语义层距离计算得到,即姿势和表情的损失 32 | 33 | ![](../../.gitbook/assets/image%20%2813%29.png) 34 | 35 | ![](../../.gitbook/assets/image%20%28218%29.png) 36 | 37 | #### Style loss 38 | 39 | 即人脸损失 40 | 41 | 我们的损失函数的灵感来自基于Patch的损失。 $$\Psi\left(\Phi_{l}(\hat{\mathbf{x}})\right)$$ 表示在 $$\Phi_{l}(\hat{\mathbf{x}})$$ 上的每个位置$$H_{l} \times W_{l}$$ 上循环生成的所有Path列表,每个位置提取 $$k \times k$$ 的邻居点。所以提取的Path矩阵为 $$M=\left(H_{l}-k+1\right) \times\left(W_{l}-k+1\right)$$ ,每个path的大小为 $$C_{l} \times k \times k$$ 。 42 | 43 | 对于每个这样的Patch来说,我们发现从Y中提取的Patch中最好的匹配Patch,并最小化它们之间的距离。 作为误差度量,我们使用了正弦距离: 44 | 45 | ![](../../.gitbook/assets/image%20%28196%29.png) 46 | 47 | 不过在这里我们只搜索相同位置的Path,但是跨多个样式图像: 48 | 49 | ![](../../.gitbook/assets/image%20%28106%29.png) 50 | 51 | #### Light loss 52 | 53 | 不幸的是,当仅使用在VGG特征空间中定义的上述损失时,内容图像的照明条件不会保留在生成的图像中。我们通过在我们的目标中引入一个额外的项来解决这个问题,这个项惩罚了照明的变化。为了定义光照惩罚,我们提出了使用预处理网络的特征空间的想法,就像我们使用VGG作为风格和内容一样。如果特征空间表示照明条件的差异,则这种方法将起作用。 VGG不适合这项任务,因为它被训练用于分类对象,其中照明信息并不特别相关。 54 | 55 | 为了获得理想的光感特性,我们构造了一个小型的siamese卷积神经网络。它被训练为区分具有相同或不同照明条件的图像对。成对的图像始终具有相同的姿势。 我们使用了扩展的耶鲁人脸数据库B \[8\],其中包含了9个姿势和64个照明条件下的主题的灰度肖像。 照明网络的架构如图4所示。 56 | 57 | ![](../../.gitbook/assets/image%20%28157%29.png) 58 | 59 | 我们将把照明网络的最后一层的特征表示为 $$Γ(x)$$ ,并引入下面的损失函数,该函数试图防止生成的图像具有与内容图像x不同的照明条件。 两者都是单通道亮度图像。 60 | 61 | ![](../../.gitbook/assets/image%20%28188%29.png) 62 | 63 | #### Total variation regularization 64 | 65 | 在约翰逊和其他人的工作之后,我们使用正则化来鼓励空间平滑: 66 | 67 | ![](../../.gitbook/assets/image%20%28239%29.png) 68 | 69 | 整体损失为 70 | 71 | ![](../../.gitbook/assets/image%20%2823%29.png) 72 | 73 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/README.md: -------------------------------------------------------------------------------- 1 | # 卷积网络架构 2 | 3 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/deconvolutional-networks.md: -------------------------------------------------------------------------------- 1 | # Deconvolutional Networks 2 | 3 | > [Deconvolutional Networks](https://www.matthewzeiler.com/mattzeiler/deconvolutionalnetworks.pdf) 4 | 5 | 除了边缘基元之外,构建健壮的低级和中级图像表示是一个长期的目标。许多现有的特征检测器在空间上汇集边缘信息,这破坏了边缘相交、平行和对称等线索。我们提出了一个学习框架,其中捕捉这些中级线索的特征自发地从图像数据中显现出来。我们的方法是基于sparsity约束下的图像卷积分解,并且是完全无监督的。通过建立这种分解的层次结构,我们可以学习到丰富的特征集,这些特征集对于图像的分析和合成来说都是健壮的图像表示。 6 | 7 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/densenet.md: -------------------------------------------------------------------------------- 1 | # DenseNet 2 | 3 | > [Densely Connected Convolutional Networks](https://arxiv.org/pdf/1608.06993.pdf) 4 | 5 | 最近的工作表明,卷积网络可以更深入,更准确,更有效,如果它们包含靠近输入的层和靠近输出的层之间的较短连接。 在本文中,我们将观察并引入密集的网络(DenseNet),它以前馈的方式将每个层连接到每个层。在传统的L层卷积网络中有L个连接,每层与其后续层之间一个,我们的网络有 $$\frac{L(L+1)}{2}$$ 个直接连接。对于每一层,前面所有层的特征映射都被用作输入,而它自己的特征映射被用作所有后续层的输入。DenseNets有几个优点:它们减轻了消失梯度问题,加强了特征传播,鼓励了特征重用,并大大减少了参数的数量。我们在四个高度竞争的对象识别基准测试任务(CIFAR-10,CIFAR-100,SVHN和ImageNet)上评估我们提出的架构。DenseNets在大多数方面获得了显著的进步,同时需要更少的计算来实现高性能。代码和预先训练的模型可从以下网址获得:[https://github.com/liuzhuang13/DenseNet](https://github.com/liuzhuang13/DenseNet)。 6 | 7 | ![](../../.gitbook/assets/image%20%283%29.png) 8 | 9 | ## 方法 10 | 11 | ### ResNets 12 | 13 | $$ 14 | \mathbf{x}_{\ell}=H_{\ell}\left(\mathbf{x}_{\ell-1}\right)+\mathbf{x}_{\ell-1} 15 | $$ 16 | 17 | ResNets的一个优点是梯度可以通过等价函数直接从后面的层流到更早的层。 然而,等价函数和 $$H_{\ell}$$ 的输出通过求和相结合,这可能阻碍网络中的信息流。 18 | 19 | ### Dense connectivity 20 | 21 | 为了进一步改善层之间的信息流,我们提出了一个不同的连接模式:我们引入了来自任何后续层的直接连接。图1展示出了所得到的DenseNet的结构。 因此,第 $$\ell^{t h}$$ 层接收所有前面层的特征图: 22 | 23 | $$ 24 | \mathbf{x}_{\ell}=H_{\ell}\left(\left[\mathbf{x}_{0}, \mathbf{x}_{1}, \ldots, \mathbf{x}_{\ell-1}\right]\right) \ \ \ \ \ \ (2) 25 | $$ 26 | 27 | ### Composite function 28 | 29 | 我们将 $$H_{\ell}$$ 定义为三个连续操作的复合函数:批量归一化(BN),然后是整流的线性单元(ReLU)和3×3卷积(Conv)。 30 | 31 | ### Pooling layers 32 | 33 | 在 $$Eq(2)$$ 中使用的串联操作。 当特征图的大小改变时是不可行的。然而,卷积网络的一个重要部分是下采样层,它改变了特征映射的大小。为了便于在我们的架构中进行下采样,我们将网络分成多个密集连接的模块;参见图2。 34 | 35 | ![](../../.gitbook/assets/image%20%28206%29.png) 36 | 37 | 我们将Block之间的层称为转移层,它们进行卷积和池化。 在我们的实验中使用的转换层包括批量标准化层和1×1卷积层,接着是2×2平均池化层。 38 | 39 | ### Bottleneck layers 40 | 41 | 尽管每个图层仅生成输出k个特征图,但它通常具有更多输入。 在\[37,11\]中已经注意到,在每个3×3卷积之前可以将1×1卷积作为瓶颈层进行处理,以减少输入特征图的数量,从而提高计算效率。我们发现这种设计对DenseNet特别有效,我们参考了具有这种瓶颈层的网络。 42 | 43 | ### Compression 44 | 45 | 为了进一步提高模型的紧凑性,我们可以在转移层减少特征映射数量。 46 | 47 | 最后得到模型的架构 48 | 49 | ![](../../.gitbook/assets/image%20%2829%29.png) 50 | 51 | ## 测试 52 | 53 | ![](../../.gitbook/assets/image%20%2892%29.png) 54 | 55 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/mobilenet.md: -------------------------------------------------------------------------------- 1 | # MobileNetV2 2 | 3 | > [MobileNetV2: Inverted Residuals and Linear Bottlenecks](https://arxiv.org/abs/1801.04381) 4 | 5 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/resnet.md: -------------------------------------------------------------------------------- 1 | # ResNet 2 | 3 | > [Deep Residual Learning for Image Recognition](https://arxiv.org/pdf/1512.03385.pdf) 4 | 5 | 更深的神经网络更难训练。我们提出了一个剩余学习框架来简化比以前使用的网络更深层次的网络培训。我们参照层输入,明确地将层重构为学习剩余函数,而不是学习未参考的函数。我们提供了综合的经验证据,表明这些剩余网络更容易优化,并且可以从显著增加的深度获得精度。在图像网数据集上,我们评估了深度高达152层\(比VGG网深8倍\)但仍具有较低复杂性的残留网。这些剩余网络的集合在ImageNet test set上实现了3.57 %的误差。这一结果获得了2015年ILSVRC分类任务的第一名。我们还对具有100层和1000层的CIFAR - 10进行了分析。 6 | 7 | 对于许多视觉识别任务来说,表征的深度至关重要。仅由于我们异常深刻的表示,我们在COCO对象检测数据集上获得了28 %的相对改进。深度残留网是我们提交ILSVRC& COCO 2015年竞赛1的基础,在该竞赛中,我们还赢得了图像网检测、图像网局部化、COCO检测和COCO分割任务的第一名。 8 | 9 | ## 方法 10 | 11 | ### 残差模块 12 | 13 | ![](../../.gitbook/assets/image%20%28164%29.png) 14 | 15 | 我们对每几个堆叠层采用残差学习。构建块如图2所示。在本文中,我们认为构建块定义了一个 16 | 17 | $$ 18 | \mathbf{y}=\mathcal{F}\left(\mathbf{x},\left\{W_{i}\right\}\right)+\mathbf{x} 19 | $$ 20 | 21 | ### 网络架构 22 | 23 | ![](../../.gitbook/assets/image%20%28105%29.png) 24 | 25 | ![](../../.gitbook/assets/image%20%28156%29.png) 26 | 27 | ![](../../.gitbook/assets/image%20%281%29.png) 28 | 29 | ## 性能 30 | 31 | ![](../../.gitbook/assets/image%20%2888%29.png) 32 | 33 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/shufflenet.md: -------------------------------------------------------------------------------- 1 | # ShuffleNet 2 | 3 | [ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices](https://arxiv.org/pdf/1707.01083.pdf) 4 | 5 | 我们提出了一个名为ShuffleNet的极其计算效率的CNN架构,该架构专为具有非常有限的计算能力(例如,10-150 MFLOP)的移动设备而设计。新的体系结构采用了两种新的运算,逐点群卷积和信道洗牌,在保持精确性的同时大大降低了计算成本。ImageNet分类和MSCOCO对象检测的实验证明了ShuffleNet优于其他结构的性能,例如: 在40-MFLOPs的计算预算下,在Ima-geNet分类任务中,最近的MobileNet \[12\]比较低的top-1error(绝对7.8%)。在基于ARM的移动设备上,ShuffleNet实现〜13倍于AlexNet的实际加速,同时保持了相当的准确性。 6 | 7 | ## 方法 8 | 9 | ### Channel Shuffle for Group Convolutions 10 | 11 | 最先进的网络,如Xception \[3\]和ResNeXt \[40\],将高效的深度可分离卷积或群组卷积引入构建块,以在表示能力和计算成本之间取得良好的折衷。但是,我们注意到两种设计都没有完全采用 考虑到1×1对称(也称为pointwise convolutionsin \[12\]),这需要相当大的计算。 12 | 13 | ![](../../.gitbook/assets/image%20%2862%29.png) 14 | 15 | 为了解决这个问题,一个简单的解决方案是:如果我们允许组卷积从不同组获得输入数据(如图1(b)所示),输入和输出通道将完全相关,同时降低了计算量。 16 | 17 | ### ShuffleNet Unit 18 | 19 | 利用通道shuffle操作,我们提出了一个专为小网络设计的新型ShuffleNet单元,如图2c所示。 20 | 21 | ![](../../.gitbook/assets/image%20%2824%29.png) 22 | 23 | ### Network Architecture 24 | 25 | 建议的网络主要由一组分为三个阶段的ShuffleNet单元组成。 26 | 27 | ![](../../.gitbook/assets/image%20%28227%29.png) 28 | 29 | ## 实验 30 | 31 | ![](../../.gitbook/assets/image%20%28172%29.png) 32 | 33 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/spatial-transformer-network.md: -------------------------------------------------------------------------------- 1 | # Spatial transformer network 2 | 3 | > [Spatial transformer network](http://papers.nips.cc/paper/5854-spatial-transformer-networks.pdf) 4 | 5 | 卷积神经网络定义了一类异常强大的模型,但是仍然受到缺乏以计算和参数有效的方式对输入数据保持空间不变的能力的限制。在这项工作中,我们引入了一个新的可学习模块——空间转换器,它明确允许对网络中的数据进行空间处理。这种可微分模块可以被引入到现有的卷积结构中,使神经网络能够根据特征映射本身主动地对特征映射进行空间变换,而无需对优化过程进行任何额外的训练监督或修改。我们表明,空间转换器的使用导致模型学习平移、缩放、旋转和更一般的翘曲的不变性,结果在几个基准上的最先进的性能,并为一些类的转换。 6 | 7 | ![](../../.gitbook/assets/image%20%2890%29.png) 8 | 9 | 空间变形器可以被合并到CNNs中,以完成多种多样的任务,例如:\(i\)图像分类:假设训练一个CNN,根据图像是否包含一个特定的数字,该数字的位置和大小可能会随着每个样本的不同而显著变化\(且与类无关\),对图像进行多路分类;将适当区域裁剪出来并按比例归一化的空间变压器,可以简化后续的分类任务,分类性能优越,如图1所示。(ii)共定位:给定一组包含相同(但未知)类的不同实例的图像,可以使用空间变换器在每个图像中对它们进行定位; (iii)空间注意:空间变换器可以用于需要注意机制的空间,例如在\[11,29\]中,但是更灵活并且可以在没有强化学习的情况下用反向传播进行训练。 使用注意力的一个主要好处是,可以使用转换(以及如此关注),较低分辨率的输入以支持更高分辨率的输入,从而提高计算效率。 10 | 11 | ## 方法 12 | 13 | ![](../../.gitbook/assets/image%20%2848%29.png) 14 | 15 | ### Localisation Network 16 | 17 | 定位网络拟合一个变换 $$\mathcal{T}_{\theta}$$ 的参数 $$\theta$$ ,如对于仿射变换 $$θ$$ 是6维的。 18 | 19 | $$ 20 | \theta=f_{\mathrm{loc}}(U) 21 | $$ 22 | 23 | ### Parameterised Sampling Grid 24 | 25 | 为了执行输入特征映射的变形,通过应用以输入特征映射中的特定位置为中心的采样核算来计算每个输出像素(这将在下一节中完整地描述)。 26 | 27 | 一般来说,输出像素被定义为位于规则网格上 $$G=\left\{G_{i}\right\}, \ G_{i}=\left(x_{i}^{t}, y_{i}^{t}\right)$$ 28 | 29 | ![](../../.gitbook/assets/image%20%28204%29.png) 30 | 31 | $$\left(x_{i}^{t}, y_{i}^{t}\right)$$ 输出特征图中规则网格的目标坐标, $$\left(x_{i}^{s}, y_{i}^{s}\right)$$ 是输入特征图中定义采样点的源坐标, $$\mathrm{A}_{\theta}$$ 是仿射变换矩阵。 32 | 33 | (1)中定义的变换允许将裁剪,平移,旋转,缩放和倾斜应用于输入特征图,并且仅需要由定位网络产生6个参数(Aθ的6个元素)。 34 | 35 | ![](../../.gitbook/assets/image%20%2898%29.png) 36 | 37 | ![](../../.gitbook/assets/image%20%28129%29.png) 38 | 39 | ### Differentiable Image Sampling 40 | 41 | 得到转换后的坐标,接下来用新坐标 $$\left(x_{t}^{t}, y_{i}^{t}\right)$$ 插值生成输出特征图: 42 | 43 | ![](../../.gitbook/assets/image%20%28130%29.png) 44 | 45 | 其中$$k(x)$$ 表示插值函数(如双线性插值), $$U_{n m}^{c}$$ 是输入特征通道C位置为 $$(n, m)$$ 元素值, $$V_{i}^{c}$$ 是输出值。请注意,对于输入的每个通道,采样是完全相同的,因此每个通道都以相同的方式进行转换(这保留了通道之间的空间一致性)。 46 | 47 | 双线性插值可表示为 48 | 49 | ![](../../.gitbook/assets/image%20%2863%29.png) 50 | 51 | 其对应的偏导数为 52 | 53 | ![](../../.gitbook/assets/image%20%28161%29.png) 54 | 55 | ### Spatial Transformer Networks 56 | 57 | 定位网络,网格生成器和采样器的组合形成空间变换器(图2)。 这是一个独立的模块,可以在任何时候放入CNN架构,并且可以任意数量,从而产生互联空间变换器。 该模块在计算上非常快并且不会削弱训练速度,在简单地使用时导致非常小的时间开销,由于随后的下采样可以应用于变压器的输出,因此在注意模型中存在潜在的加速。 58 | 59 | ## 实验 60 | 61 | ![](../../.gitbook/assets/image%20%28183%29.png) 62 | 63 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/juan-ji-wang-luo-jia-gou/xception.md: -------------------------------------------------------------------------------- 1 | # Xception 2 | 3 | > [Xception: Deep Learning with Depthwise Separable Convolutions](https://www.baidu.com/link?url=LXVqg4iAvDm3N36pK0w5nfJmb59T-85tuTk2JWTu8WEgiHvmSaX9HjsZc1OA77Sd&wd=&eqid=ea21ca210002d7cf000000065ca042b9) 4 | 5 | 我们将卷积神经网络中的Inception模块解释为常规卷积和深度可分卷积操作之间的中间步骤(深度可分离卷积后跟逐点卷积)。在这种情况下,深度分离卷积可以理解为具有最大数量塔的Inception模块。这一观察结果提出了一种新颖的深度卷积神经网络体系结构,其灵感来自于Inception,其中Inception模块已被深度可分离卷积所取代。我们展示了这个被称为Xception的体系结构,在ImageNet数据集(设计版本为V3)上略微优于Inception V3,并且在包含3.5亿个图像和17,000个类的更大图像分类数据集上显着优于Inception V3。由于Inception体系结构与Inception V3具有相同数量的参数,因此性能增益不是增加容量,而是更有效地使用模型参数。 6 | 7 | ## 方法 8 | 9 | ### The Inception hypothesis 10 | 11 | 卷积层试图学习3D空间中的滤波器,具有2个空间维度(宽度和高度)和通道维度; 因此,单个卷积核的任务是同时映射跨通道相关和空间相关。Inception模块背后的这个想法是通过将其明确地分解为一系列独立查看跨通道相关性和空间相关性的操作来使这个过程更容易和更有效。更准确地说,典型的Inception模块首先通过一组1x1卷积来查看跨通道相关性,将输入数据映射到3或4个小于原始输入空间的独立空间中,然后通过规则的3×3或5×5卷积将所有相关性映射到这些较小的3D空间中,如图1。Inception背后的基本假设是跨渠道相关性和空间相关性充分解耦,最好不要联合映射它们。 12 | 13 | ![](../../.gitbook/assets/image%20%2860%29.png) 14 | 15 | #### The continuum between convolutions and sep-arable convolutions 16 | 17 | 做一个比初始假设强得多的假设,并假设跨通道相关性和空间相关性可以完全分开,这合理吗?基于这个更强的假设,Inception模块的“极端”版本将首先使用1x1卷积来映射跨通道相关,然后将分别映射每个输出通道的空间相关性。 如图4所示。 18 | 19 | ![](../../.gitbook/assets/image%20%28222%29.png) 20 | 21 | 在深度学习框架(例如TensorFlow和Keras)中通常称为“可分离卷积”的深度可分卷积包括在深度卷积中,即。 在输入的每个信道上独立地执行空间卷积,然后是pointwise卷积,即 1x1卷积,将通过深度卷积输出的通道投影到新的通道空间。这不能与空间可分离的卷积混淆,后者在图像处理社区中通常也称为“可分离卷积”。 22 | 23 | 和Inception模块的“极端”版本和深度可分的卷积之间的两个细微差别是: 24 | 25 | * 操作的顺序:通常实现的深度可分对比(例如在TensorFlow中)执行第一个通道空间卷积,然后执行1x1卷积,而Inception首先执行1x1卷积。 26 | * 第一次操作后是否存在非线性。 在Inception中,两个操作之后都是ReLU非线性,然而,深度可分离的卷积通常在没有非线性的情况下实现。 27 | 28 | 在进行了这些观察之后,我们建议通过用深度可分离的卷积替换初始模块,即通过构建最佳深度可分离卷积的模型,可以改进Inception体系。 29 | 30 | ### The Xception architecture 31 | 32 | 我们提出了一种完全基于深度可分离卷积层的卷积神经网络体系结构。实际上,我们提出以下假设:卷积神经网络的特征映射中的跨通道相关性和空间相关性的映射可以完全解耦。 因为这个假设是Inception体系结构背后假设的一个更强大的版本,所以我们将我们提出的Xception命名为“Extreme Inception”。 33 | 34 | Xception体系结构具有36个卷积层,形成网络的特征提取基础。 在我们的实验评估中,我们将分别研究图像分类,因此我们的卷积基数将跟随逻辑回归层。可选地,可以在逻辑回归层之前插入完全连接的层,这在实验评估部分中进行了探索(特别参见图7和8)。36个卷积层被构造成14个模块,除了第一个和最后一个模块之外,它们都具有线性残差连接。 35 | 36 | ![](../../.gitbook/assets/image%20%2842%29.png) 37 | 38 | ## 测试 39 | 40 | ![](../../.gitbook/assets/image%20%2836%29.png) 41 | 42 | ![](../../.gitbook/assets/image%20%28141%29.png) 43 | 44 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/mu-biao-jian-ce/README.md: -------------------------------------------------------------------------------- 1 | # 目标检测 2 | 3 | 如图\(b\)即目标检测,神经网络需预测目标的类型以及所在区域。 4 | 5 | ![](../../.gitbook/assets/image%20%28121%29.png) 6 | 7 | ## 性能评价 8 | 9 | precision(精度)和recall(召回率)分别从预测正类的正确率和预测正类的全面性评价分类器的性能。 10 | 11 | ![](../../.gitbook/assets/image%20%28145%29.png) 12 | 13 | 此外,accuracy(准确度)无论正负预测对的比例: 14 | 15 | $$ 16 | \operatorname{accuracy}=\frac{\text {Truepositives}+\text {Truenegatives}}{\text {Truepositives}+\text {Falsenegatives}+\text {Truenegatives}+\text {Falsepositives}} 17 | $$ 18 | 19 | 有了精度和召回率,可以得到PR曲线,PR曲线下方面积越大则分类器综合性能越好: 20 | 21 | ![](../../.gitbook/assets/image%20%2817%29.png) 22 | 23 | IoU 的全称为交并比(Intersection over Union),IoU 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值: 24 | 25 | ![](../../.gitbook/assets/image%20%28168%29.png) 26 | 27 | IoU使我们便能定义目标检测中正类和负类,如IoU>50%为正类,否则为负类。 28 | 29 | 我们可以用这个分类计算目标检测网络的精度和召回率,并画出PR曲线,其下部面积就是AP。至于mAP则是测试样本的均值。 30 | 31 | ## NMS 32 | 33 | 非极大值抑制(Non-Maximum Suppression,NMS),顾名思义就是抑制不是极大值的元素,可以理解为局部最大搜索。这个局部代表的是一个邻域,邻域有两个参数可变,一是邻域的维数,二是邻域的大小。这里不讨论通用的NMS算法\(参考论文《[Efficient Non-Maximum Suppression](https://pdfs.semanticscholar.org/52ca/4ed04d1d9dba3e6ae30717898276735e0b79.pdf)》对1维和2维数据的NMS实现\),而是用于目标检测中提取分数最高的窗口的。例如在行人检测中,滑动窗口经提取特征,经分类器分类识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口存在包含或者大部分交叉的情况。这时就需要用到NMS来选取那些邻域里分数最高(是行人的概率最大),并且抑制那些分数低的窗口。 34 | NMS在计算机视觉领域有着非常重要的应用,如视频目标跟踪、数据挖掘、3D重建、目标识别以及纹理分析等。 35 | 36 | 比如对于目标检测来说,通常神经网络会输出多个重叠的框 37 | 38 | ![](../../.gitbook/assets/image%20%28197%29.png) 39 | 40 | NMS的处理流程为:先找到置信概率最大的输出框,然后计算其它框与改框的IoU,如果大于一个阈值如0.5则扔掉这个框,并标记置信度最大的框。接下来选择下一个置信度最大的框,继续剔除可能的重叠框。如此迭代即可。 41 | 42 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/mu-biao-jian-ce/fast-r-cnn.md: -------------------------------------------------------------------------------- 1 | # Fast R-CNN 2 | 3 | > [Fast R-CNN](http://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf) 4 | 5 | 本文提出了一种基于快速区域的卷积网络方法(Fast R-CNN)用于对象检测。 FastR-CNN建立在以前的工作基础上,使用深度卷积网络有效地分类对象提议。 与之前的工作相比,Fast R-CNN采用了多种创新技术来提高训练和测试速度,同时提高了检测精度。Fast R-CNN训练非常深VGG16网络比R-CNN快9倍,测试时间快213倍,并在PASCAL VOC2012上实现更高的mAP。 与SPPnet相比,Fast R-CNN将VGG16训练速度提高了3倍,测试速度提高了10倍,并且更加准确。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image%20%28235%29.png) 10 | 11 | ### The RoI pooling layer 12 | 13 | RoI池化层使用最大池化将任何有效感兴趣区域内的特征转换成固定空间范围为H×W的小特征图。其基本原理是对整张特征图采用多个尺度不同的池化,然后合并成一个向量。 14 | 15 | ![](../../.gitbook/assets/image%20%28153%29.png) 16 | 17 | ### Initializing from pre-trained networks 18 | 19 | 我们尝试了三个预先训练过的ImageNet \[4\]网络,每个网络有五个最大池层,五个和十三个转换层之间(参见第4.1节网络详细信息)。 当预训练的网络初始化快速R-CNN网络时,它会经历三次转换。 20 | 21 | 首先,最后一个最大池层被一个RoIpooling层替换,RoIpooling层由H、W配置,使其与网络的第一个完全连接的层可兼容。 22 | 23 | 第二,网络的最后一个完全连接层和软最大值\(针对1000向图像网分类进行了训练\)被前面描述的两个同级层\(完全连接层和软最大值overK+1cat-egories和特定于类别的边界框回归器\)代替。 24 | 25 | 第三,修改网络以获取两个数据输入:图像列表和那些图像中的RoI列表。 26 | 27 | ### Fine-tuning for detection 28 | 29 | 损失函数由分类损失和box预测损失组成: 30 | 31 | ![](../../.gitbook/assets/image%20%28109%29.png) 32 | 33 | ![](../../.gitbook/assets/image%20%28170%29.png) 34 | 35 | RoI池化反向传播 36 | 37 | ![](../../.gitbook/assets/image%20%28149%29.png) 38 | 39 | 其中 $$i^{*}(r, j)=\operatorname{argmax}_{i^{\prime} \in \mathcal{R}(r, j)}$$ 是最大池化选择的像素,x为RoI层输入,y为RoI层输出。 40 | 41 | ## 实验 42 | 43 | ![](../../.gitbook/assets/image%20%28126%29.png) 44 | 45 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/mu-biao-jian-ce/faster-r-cnn.md: -------------------------------------------------------------------------------- 1 | # Faster R-CNN 2 | 3 | > [Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks](https://arxiv.org/pdf/1506.01497.pdf) 4 | 5 | 最先进的物体检测网络依赖于区域建议算法来假设物体位置。像SPPnet \[1\]和Fast R-CNN \[2\]这样的进展减少了这些检测网络的运行时间,将区域候选计算暴露为瓶颈 。在这项工作中,我们引入了一个区域提议网络(RPN),它与检测网络共享全图像卷积特征,从而实现几乎无成本的区域候选建议。RPN是一个完全卷积网络,它同时预测每个位置的对象边界和对象分数。RPN经过端到端培训,可生成高质量区域提案,Fast R-CNN用于检测。我们通过共享其卷积特征进一步将RPN和Fast R-CNN合并到一个网络中 - 使用最近流行的具有“注意”机制的神经网络术语,RPN组件告诉统一网络应该关注哪里。对于非常深的VGG-16型号\[3\],我们的检测系统在GPU上的帧速率为5fps(包括所有步骤),同时在PASCAL VOC 2007,2012和MS上实现了最先进的物体检测准确度。 COCO数据集,每个图像仅用300个候选。在ILSVRC和COCO2015比赛中,Faster R-CNN和RPN是几个赛道中获得第一名的参赛者的基础。 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image%20%28209%29.png) 10 | 11 | 我们的物体检测系统称为Faster R-CNN,由两个模块组成。第一个模块是产生候选区域的深度卷积网络,第二个模块是使用候选区域的Fast R-CNN检测器\[2\]。如图2所示,整个系统使用一个统一的目标检测网络。使用最近流行的神经网络术语和“注意”\[31\]机制,RPN模块告诉Fast R-CNN模块应该关注哪里。 12 | 13 | ### RoI pooling 14 | 15 | 在Fast R-CNN中,RoI池化使候选框内的特征映射到固定大小的特征图。主要原理是利用空间金字塔池化,把任意大小的窗口划分成 $$k$$ 个 $$n_k*n_k$$的特征图,对每个 $$1*1$$ 方块里面的特征进行池化。 最后将不同的特征合并到一起。 16 | 17 | ![](../../.gitbook/assets/image%20%28166%29.png) 18 | 19 | ### Region Proposal Networks 20 | 21 | 如图3所示,区域建议网络\( RPN \)将图像\(任何大小\)作为输入,并输出一组矩形主题建议,每个建议都有一个对象分数。为了生成区域提议,我们在最后一个共享卷积层输出的卷积特征映射上滑动一个小网络。 22 | 23 | ![](../../.gitbook/assets/image%20%2865%29.png) 24 | 25 | #### Anchors 26 | 27 | 在每个滑动窗口位置,我们同时预测多个候选区域提案,其中每个位置的最大可能提议的数量 $$k$$ 被指定。这些大小形状不同的区域就是Anchors。 28 | 29 | anchors位于所讨论的滑动窗口的中心,并与标尺和比例相关联\(图3,左侧\)。默认情况下,我们使用3个比例和3个长宽比,在每个滑动位置 9个anchors。对于大小为W×H \(通常为2,400 \)的卷积特征图,总计有WHk个anchors。 30 | 31 | #### Translation-Invariant Anchors 32 | 33 | 我们方法的一个重要特性是,无论是anchors还是关于anchors计算候选区域的函数,它都是平移不变的。如果平移图像中的一个对象,则候选建议也应该平移,并且相同的函数应该能够在任一位置预测建议。我们的方法保证了这种平移不变性。 34 | 35 | 作为比较,MultiBox方法\[27\]使用k-means生成800个anchors,这些anchors不是平移不变的。 因此MultiBox不保证在平移对象时生成相同的提议。 36 | 37 | #### Loss Function 38 | 39 | 损失函数分为分类损失和回归损失 40 | 41 | ![](../../.gitbook/assets/image%20%28219%29.png) 42 | 43 | 对于分类损失,与anchor的 $$IoU$$ 最高的为正样本, $$IoU<0.3$$ 的为负样本, $$\mathcal{p}_{i}^{*}$$ 表示当前anchor是否存在对象。这两个项由 $$N_{cls}$$ 和 $$N_{reg}$$ 归一化,并由平衡参数 $$λ$$ 加权。 在我们的当前实现中(如在已发布的代码中),分类项通过mini-batchsize(即$$N_{cls}$$ = 256)进行归一化,并且通过锚点位置的数量(即$$N_{reg}$$~2,400)对其进行归一化。 默认我们设置 $$λ= 10$$ 。 44 | 45 | 预测边框的坐标计算方法如下: 46 | 47 | ![](../../.gitbook/assets/image%20%28217%29.png) 48 | 49 | 其中$$x, y, w, h$$ 分别表示边框的中心坐标、宽和高。,$$a$$ 表示为anchor的中心坐标、宽、高。即预测的值是一个偏移量。 50 | 51 | #### Training RPN 52 | 53 | 优化所有锚点的损失函数,但这样做会偏向负样本,因为它们占主导地位。相反,我们在图像中随机抽样256个锚点来计算小批量的损失函数,其中采样的正负锚点的比例为1:1。 如果图像中的正样本数少于128个,我们将小批次用负类填充。 54 | 55 | 我们通过从标准偏差为0.01的零均值高斯分布中抽取8来随机初始化所有新层。所有其他层\(即共享卷积层\)都是通过预先训练图像网分类的模型来初始化的。 56 | 57 | ### Sharing Features for RPN and Fast R-CNN 58 | 59 | #### Alternating training 60 | 61 | 在这个解决方案中,我们首先训练RPN,并使用提议来训练快速R-CNN。然后使用由快速R-CNN调谐的网络来初始化RPN,并且该过程被迭代。 这是本文所有实验中使用的解决方案。 62 | 63 | #### Approximate joint training 64 | 65 | 在此解决方案中,RPN和Fast R-CNN网络在训练期间合并为一个网络,如图2所示。在每个SGD迭代中,正向传递产生区域建议,当训练Fast R-CNN时,它们被视为固定的,预先计算的建议。 反向传播如常进行,其中共享层将来自RPN损失和Fast R-CNN损耗的反向传播信号组合。 该解决方案易于实施。 但是这个解决方案忽略了建议的坐标的导数也是网络响应,因此是近似值。 66 | 67 | #### Non-approximate joint training 68 | 69 | 如上所述,RPN预测的边界框也是输入的函数。 快速R-CNN中的RoI池化层\[2\]接受卷积特征以及预测的边界框作为输入,因此理论上有效的反向传播求解器也应该涉及梯度关于框坐标。在上述近似的联合训练中忽略了这些梯度。 在非近似联合训练解决方案中,我们需要一个关于框坐标可微分的RoI池化层。 这是一个非常重要的问题,可以通过\[15\]中开发的“RoI Wraping"给出解决方案,这超出了本文的范围。 70 | 71 | #### 4-Step Alternating Training 72 | 73 | 在本文中,我们采用实用的4步训练算法来通过交替优化来学习共享特征。在第一步中,我们按照上一节的描述训练RPN。 该网络使用ImageNet预先训练的模型进行初始化,并针对区域提出的任务进行端对端微调。在第二步中,我们使用由步骤1 RPN生成的提议通过Fast R-CNN训练单独的检测网络。该检测网络也由ImageNet预先训练的模型初始化。此时,两个网络不共享卷积层。在第三步中,我们使用检测器网络来初始化RPN训练,但是我们固定共享卷积层,只修改RPN特有的层。现在这两个网络共享卷积层。最后,保持共享卷积层固定,我们微调快速R-CNN的独特层。这样,两个网络共享相同的卷积层并形成统一的网络。 类似的交替训练可以进行更多的迭代,但我们观察到可忽略不计的改进。 74 | 75 | ## 测试 76 | 77 | ![](../../.gitbook/assets/image%20%28201%29.png) 78 | 79 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/mu-biao-jian-ce/light-head-r-cnn.md: -------------------------------------------------------------------------------- 1 | # Light-Head R-CNN 2 | 3 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/mu-biao-jian-ce/yolov3.md: -------------------------------------------------------------------------------- 1 | # YOLOv3 2 | 3 | > [YOLOv3: An Incremental Improvement](https://arxiv.org/pdf/1804.02767.pdf) 4 | 5 | 我们向YOLO展示一些更新!我们做了一大堆小的设计改动来使它变得更好。我们还训练了这个非常棒的新网络。它比上一次稍大,但更准确。不过,还是很快,别担心。在28.2 mAP下,320×320 YOLOv3在22 ms内运行,与SSD一样精确,但速度快三倍。当我们查看旧的.5 IOU mAP检测指标YOLOv3非常好。 它在Titan X上在51毫秒内达到57.9 $$AP_{50}$$ ,与RetinaNet相比,在198毫秒时达到57.5$$AP_{50}$$ ,性能相似,但速度提高3.8倍。 6 | 7 | ## 方法 8 | 9 | ### Bounding Box Prediction 10 | 11 | 对于一个目标,我们预测四个值 $$t_x, t_y, t_w, t_h$$(分别对应网格中心坐标以及宽和高) 来表示目标框: 12 | 13 | $$ 14 | \begin{aligned} b_{x} &=\sigma\left(t_{x}\right)+c_{x} \\ b_{y} &=\sigma\left(t_{y}\right)+c_{y} \\ b_{w} &=p_{w} e^{t_{w}} \\ b_{h} &=p_{h} e^{t_{h}} \end{aligned} 15 | $$ 16 | 17 | ![](../../.gitbook/assets/image%20%28108%29.png) 18 | 19 | 在训练中,我们使用误差平方和损失。 20 | 21 | ### Class Prediction 22 | 23 | 每个框使用多标签分类来预测边界框可能包含的类别。我们不使用softmax,因为我们发现它对于良好的性能是不必要的,相反,我们只使用独立的逻辑分类器。在训练过程中,我们使用二元交叉熵损失进行分类预测。 24 | 25 | 当我们转移到更复杂的领域时,如开放图像数据集\[ 7 \],这个公式会有所帮助。在这个数据集中有许多重叠的标签\(即女人和人\)。使用softmax会强制假设每个盒子都有一个类,而这通常不是这样。多标签方法可以更好地对数据建模。 26 | 27 | ### Predictions Across Scales 28 | 29 | YOLOv3预测3种不同尺度的方框。 我们的系统使用与金字塔网络相似的概念\[8\]从这些尺度中提取特征。 从我们的基础特征提取器中,我们添加了几个卷积层。 其中最后一个预测了三维张量编码边界框,对象和类预测。在我们用COCO \[10\]进行的实验中,我们预测每个尺度有3个框,因此对于4个边界框偏移预测,1个对象存在预测和80个分类预测,输出张量为 $$N×N×[3 *(4 + 1 + 80)]$$ 。 30 | 31 | 接下来,我们从前面的2个图层中获取特征图,然后将其乘以2×。 我们还从网络中的早期获取了一个功能图,并使用连接将其与我们的上采样功能合并。 这种方法允许我们从上采样的特征中获得更有意义的语义信息,并从早期的特征图中获得更细粒度的信息。 然后,我们再添加一些卷积层来处理这个组合特征映射,并最终预测相似的张量,尽管现在是两倍大小。 32 | 33 | 我们再次执行相同的设计来预测最终规模的容器。 因此,我们对3rd scale的预测受益于所有先前的计算以及网络早期的细粒度特征。 34 | 35 | 我们仍然使用k均值聚类来确定我们的bounding box先验。我们只是随便选择了9个clusters和3个scales,然后将clusters平均划分成不同的scales。在COCO数据集上,9个聚类是: $$(10×13),(16×30),(33×23),(30×61),(62×45),(59×119),(116×90),(156×198),(373×326)$$ 36 | 37 | ### Feature Extractor 38 | 39 | 我们使用一个新的网络进行特征提取。我们的新网络是YOLOv2,Darknet-19中使用的网络和新奇的遗留网络之间的混合方法。 我们的网络使用连续的3×3和1×1卷积层,但现在有一些快捷连接,并且显着更大。 40 | 41 | ![](../../.gitbook/assets/image%20%28107%29.png) 42 | 43 | ![](../../.gitbook/assets/image%20%28127%29.png) 44 | 45 | 每个网络都使用相同的设置进行培训,并测试256×256,单一裁剪精度。 运行时间以Titan X在256×256处测量。 因此,Darknet-53有最先进的分类性能,但浮点运算更少,速度更快。 Darknet-53优于ResNet-101,速度提高1.5倍。 Darknet-53与ResNet-152具有相似的性能,速度快2倍。 46 | 47 | 我们仍然在完整的图像上训练,没有任何硬性的负面挖掘。我们使用多尺度训练,大量的数据扩充,批量标准化,所有标准的东西。 48 | 49 | ## 性能 50 | 51 | ![](../../.gitbook/assets/image%20%28234%29.png) 52 | 53 | ![](../../.gitbook/assets/image%20%28144%29.png) 54 | 55 | ## 尝试了但是没有效果的方法 56 | 57 | ![](../../.gitbook/assets/image%20%28167%29.png) 58 | 59 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/ren-lian-shi-bie/README.md: -------------------------------------------------------------------------------- 1 | # 人脸识别 2 | 3 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/ren-lian-shi-bie/deep-face-recognition.md: -------------------------------------------------------------------------------- 1 | # Deep Face Recognition 2 | 3 | > [Deep Face Recognition](https://www.robots.ox.ac.uk/~vgg/publications/2015/Parkhi15/parkhi15.pdf) 4 | 5 | 本文的目标是人脸识别 - 来自单张照片或视频中跟踪的一组脸部。 该领域的最新进展归因于两个因素:(i)使用卷积神经网络(CNN)的任务的端到端学习,以及(ii)非常大规模的训练数据集的可用性。 6 | 7 | 我们做了两个贡献:首先,我们展示了如何通过循环中的自动化和人工组合来组装一个非常大规模的数据集(2.6M图像,超过2.6K人),并讨论数据纯度和时间之间的权衡 ; 第二,我们通过深度网络训练和人脸识别的复杂性来提出方法和程序,以达到标准LFW和YTF面部基准的可比较的最新技术成果。 8 | 9 | ## 方法 10 | 11 | ### Dataset Collection 12 | 13 | ![](../../.gitbook/assets/image%20%2814%29.png) 14 | 15 | 1. 构建数据集的第一个阶段是获取候选身份名称列表以获取面孔。这个想法是关注名人和公众人物,如演员或政治家,以便可以找到足够数量的不同图像。 网络,以及在下载图像时避免任何隐私问题。 16 | 2. 在Google和Bing图像搜索中都有2,622个名人名字,然后在名称后附加关键字“actor”。 17 | 3. 使用分类器自动删除每组中的任何错误的面部。 18 | 4. 由两个不同的搜索引擎发现的相同图像的完全重复图像,或者在不同的互联网位置上找到的相同图像的副本被删除。 19 | 5. 此时,有2,622个身份,每个身份最多有1,000个图像。这个最后阶段的目的是使用人工注释来提高数据的纯度\(精度\)。 20 | 21 | ### Network architecture and training 22 | 23 | #### Learning a face classifier 24 | 25 | 首先用深度卷积神经网络训练一个人脸分类器,训练好后移除softmax分类层,前一层输出的分数向量可视为人脸特征。 26 | 27 | #### Learning a face embedding using a triplet loss 28 | 29 | 三联损失训练旨在学习在最终应用中表现良好的得分向量,即。 通过比较欧氏空间中的人脸描述符进行身份验证。这类似于“度量学习”的灵感,并且像许多度量学习方法一样,用于学习同时具有独特性和紧凑性的投影,同时实现降维。即用一个仿射变换投影 $$\mathbf{x}_{t}=W^{\prime} \phi\left(\ell_{t}\right) /\left\|\phi\left(\ell_{t}\right)\right\|_{2}, W^{\prime} \in \mathbb{R}^{L \times D}$$ ,其中L<<D。用于训练的损失函数为: 30 | 31 | ![](../../.gitbook/assets/image%20%28138%29.png) 32 | 33 | 三元组 $$(a,p,n)$$ 包含一个人脸图像锚点以及锚点身份的正面和负面示例。 34 | 35 | #### Architecture 36 | 37 | ![](../../.gitbook/assets/image%20%2837%29.png) 38 | 39 | ## 实验 40 | 41 | ![](../../.gitbook/assets/image%20%2820%29.png) 42 | 43 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/ren-lian-shi-bie/deepface.md: -------------------------------------------------------------------------------- 1 | # DeepFace 2 | 3 | > [DeepFace: Closing the gap to human-level performance in face verification](http://www.cv-foundation.org/openaccess/content_cvpr_2014/papers/Taigman_DeepFace_Closing_the_2014_CVPR_paper.pdf) 4 | 5 | 在现代人脸识别中,传统的流水线由四个阶段组成:检测、对齐、表示、分类。为了应用分段仿射变换,我们利用显式的三维人脸模型,重新研究了人脸的对齐步骤和表示步骤,并从一个九层的深度神经网络中得到了人脸的再现。这个深层网络涉及超过1.2亿个参数,使用几个本地连接的层,而不是标准的卷积层。因此,我们对迄今为止最大的面部数据集进行了训练,这是一个标识为400万个面部图像的数据集,属于4,000多个身份。将基于模型的精确比对与大型人脸数据库相结合的学习表征方法,可以很好地推广到无约束环境下的人脸识别中,即使是使用简单的分类器。我们的方法对野外\(LFW\)数据集的贴标签面精度达到97.35%,将当前技术状态的误差降低了27%以上,接近人类水平的性能。 6 | 7 | ## 方法 8 | 9 | ### Face Detection & Face Alignment 10 | 11 | ![](../../.gitbook/assets/image%20%28139%29.png) 12 | 13 | #### 3D alignment 14 | 15 | 1. 用LBP+SVR的方法检测出人脸的6个基准点,眼镜两个点,鼻子一个点,嘴巴三个点,如下图\(a\) 16 | 2. 通过拟合一个对基准点的转换(缩放,旋转,平移)对图像进行裁剪,得到下图\(b\) 17 | 3. 对图像定位67个基准点,并进行三角剖分,得到下图\(c\) 18 | 4. 用一个3D人脸库USF Human-ID得到一个平均3D人脸模型(正脸),如图\(d\) 19 | 5. 学习一个3D人脸模型和原2D人脸之间的映射P,并可视化三角块,如图\(e\) 20 | 6. 通过相关的映射,把原2D人脸中的基准点转换成3D模型产生的基准点,得到如图\(f\)所示,最后的正脸就是图\(g\)。 21 | 22 | #### Deep alignment 23 | 24 | 用深度学习实现人脸检测和矫正可参考论文[MTCNN](https://arxiv.org/abs/1604.02878) 25 | 26 | ### Representation 27 | 28 | ![](../../.gitbook/assets/image%20%2885%29.png) 29 | 30 | 最后一个完全连接的层的输出被馈送到k-way softmax(其中K是类的数量),其产生类标签上的分布: $$p_{k}=\exp \left(o_{k}\right) / \sum_{h} \exp \left(o_{h}\right)$$ 。训练的目的是最大限度地提高正确分类的概率\(人脸id\),我们通过最小化每个训练样本的交叉熵损失来实现这一点。 31 | 32 | #### Normaliaztion 33 | 34 | 作为最后阶段,我们将特征标准化为0到1之间,以降低对光照变化的敏感性:特征向量的每个分量除以训练集上的最大值。 35 | 36 | ### Verification Metric 37 | 38 | 验证两个输入实例是否属于同一类(同一性)已经在无约束人脸识别领域进行了广泛的研究,其中监督方法显示出明显的性能优势而不是不受约束的方式。 39 | 40 | 在这项工作中,我们的目标是学习一个无监督的度量标准,它可以很好地适用于多个数据集。我们的无监督相似性只是两个归一化特征向量之间的内积。我们还试验了一种监督度量,χ2相似性和相似性网络。 41 | 42 | 即使用线性SVM学习权重参数: 43 | 44 | $$ 45 | \chi^{2}\left(f_{1}, f_{2}\right)=\sum_{i} w_{i}\left(f_{1}[i]-f_{2}[i]\right)^{2} /\left(f_{1}[i]+f_{2}[i]\right) 46 | $$ 47 | 48 | ## 实验 49 | 50 | ![](../../.gitbook/assets/image%20%28122%29.png) 51 | 52 | #### Ensembles of DNNs 53 | 54 | 接下来,我们将通过向不同类型的输入提供训练而训练的多个网络组合到DNN:1)网络DeepFace-上面基于3D对齐RGB输入的单个描述; 2)灰度级图像加上图像梯度的大小和方向; 3)2D对齐的RGB图像。 55 | 56 | ![](../../.gitbook/assets/image%20%28191%29.png) 57 | 58 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/yu-yi-fen-ge/README.md: -------------------------------------------------------------------------------- 1 | # 语义分割 2 | 3 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/yu-yi-fen-ge/deeplab-v3.md: -------------------------------------------------------------------------------- 1 | # DeepLab V3+ 2 | 3 | > [Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation](https://arxiv.org/pdf/1802.02611v3.pdf) 4 | 5 | 空间金字塔池模块或编码 - 解码器结构用于深度神经网络中的语义分割任务。 通过以多个速率和多个有效视野进行过滤器或池化操作来探测传入特征,然后后者网络可以通过逐渐恢复空间信息来捕获更清晰的对象边界,从而能够编码多尺度上下文信息。在这项工作中,我们建议结合两种方法的优点。 具体来说,我们提出的模型DeepLabv3 +通过添加一个简单但有效的解码器模块来扩展DeepLabv3,以便特别是沿着对象边界细化分割结果。我们进一步探索Xception模型,并将深度可分离卷积应用于Atrous Spatial Pyramid Pooling和解码器模块,从而产生更快更强的编码器 - 解码器网络。我们在PASCAL VOC 2012和city scapes数据集上验证了该模型的有效性,无需任何后处理,测试集性能分别达到89.0 %和82.1 %。[https://github.com/tensorflow/models/tree/master/research/deeplab](https://github.com/tensorflow/models/tree/master/research/deeplab) 6 | 7 | ## 方法 8 | 9 | ![](../../.gitbook/assets/image%20%2893%29.png) 10 | 11 | ### Encoder-Decoder with Atrous Convolution 12 | 13 | #### Atrous convolution 14 | 15 | Atrous卷积是一种强大的工具,它允许我们明确地控制深度卷积神经网络计算的特征的分辨率,并调整滤波器的视场以捕获多尺度信息,推广标准卷积运算。在二维信号的情况下,对于每个位置 $$i$$ ,输出特征图 $$y$$ 和卷积滤波器 $$w$$ ,在输入特征图上应用atrous卷积如下: 16 | 17 | $$ 18 | \boldsymbol{y}[i]=\sum_{\boldsymbol{k}} \boldsymbol{x}[i+r \cdot \boldsymbol{k}] \boldsymbol{w}[\boldsymbol{k}] 19 | $$ 20 | 21 | #### Depthwise separable convolution 22 | 23 | 深度可分离卷积,将标准卷积转化为深度卷积,然后是点卷积\(即1×1卷积\),大大降低了计算复杂度。具体来说,深度卷积独立地为每个输入通道执行空间卷积,而逐点卷积用于组合深度卷积的输出。 24 | 25 | ![](../../.gitbook/assets/image%20%28210%29.png) 26 | 27 | 在这项工作中,我们将所得到的卷积称为atrous separable convolution,并发现atrous separable convolution显着降低了所提出模型的计算复杂度,同时保持了相似(或更好)的性能。 28 | 29 | #### DeepLabv3 as encoder 30 | 31 | DeepLabv3 \[23\]采用atrous卷积\[69,70,8,71\]来提取在任意分辨率下由深度卷积神经网络计算的特征。我们将输入图像空间分辨率与最终输出分辨率(在全局池或完全连接层之前)的比率表示为输出步幅。对于图像分类的任务,最终特征图的空间分辨率通常比输入图像分辨率小32倍,因此输出stride = 32。对于语义分割的任务,可以通过去除最后一个(或两个)块中的striding和相应地应用atrous卷积来使输出stride = 16(或8)来进行更密集的特征提取。此外,DeepLabv3增强了Atrous SpatialPyramid Pooling模块,该模块通过应用不同rates的atrous卷积来探测多个尺度的卷积特征,具有图像级别的特征。在我们提出的编码器-解码器结构中,我们使用原始DeepLabv3作为中逻辑之前的最后一个特征映射作为编码器输出。注意编码器输出特征图包含256个通道和丰富的语义信息。此外,根据计算预算,可以通过应用高阶卷积以任意分辨率提取特征。 32 | 33 | #### Proposed decoder 34 | 35 | DeepLabv3的编码器通常在输出步幅= 16的情况下进行计算。在\[23\]的工作中,这些特征是双线性上采样的16倍,这可以被认为是一个简单的解码器模块。然而,这个简单的解码器模块可能无法成功恢复对象分割细节。因此,我们提出了一个简单而有效的解码器模块,如图2所示。 36 | 37 | ![](../../.gitbook/assets/image%20%2897%29.png) 38 | 39 | ### Modified Aligned Xception 40 | 41 | Xception模型\[26\]在ImageNet \[74\]上展示了具有快速计算能力的图像分类结果。最近,MSRA团队\[31\]修改了Xception模型(称为Aligned Xception)并进一步推动了对象检测任务的性能。受这些发现的启发,我们在同一方向上工作,以使Xception模型适应语义图像分割的任务。特别是,我们在MSRA的修改之上做了一些更改,即(1)与\[31\]相同的更深层次的Xception,除了我们不修改入口流网络结构以实现快速计算和内存效率,(2)所有最大池化 操作由带有跨步的深度可分离卷积代替,这使我们能够应用巨大的可分离卷积以任意分辨率提取特征图(另一种选择是将激励算法扩展到最大池操作),以及(3)额外的BatchNormalization \[75\]和ReLU 在每次3×3深度卷积之后添加激活,类似于MobileNet设计\[29\]。 有关详细信息,请参见图4。 42 | 43 | ![](../../.gitbook/assets/image%20%28110%29.png) 44 | 45 | ## 测试 46 | 47 | ### ResNet-101 48 | 49 | ![](../../.gitbook/assets/image%20%2841%29.png) 50 | 51 | ### Xception 52 | 53 | ![](../../.gitbook/assets/image%20%2870%29.png) 54 | 55 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/yu-yi-fen-ge/fcn.md: -------------------------------------------------------------------------------- 1 | # FCN 2 | 3 | > [Fully convolutional networks for semantic segmentation](http://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Long_Fully_Convolutional_Networks_2015_CVPR_paper.pdf) 4 | 5 | 卷积网络是一种功能强大的可视化模型,它可以生成特性的层次结构。我们表明,卷积网络本身,经过训练的端到端,像素到像素,在语义分离方面超过了最先进的水平。我们的主要观点是建立“完全卷积”网络,它接受任意大小的输入,并以有效的推理和学习产生相应大小的输出。我们定义并详细描述了全卷积网络的空间,解释了它们在空间密度预测任务中的应用,并将它们与之前的模型联系起来。我们将当代的分类网络\(AlexNet\[20\]、VGG net\[31\]和GoogLeNet\[32\]\)调整为完全卷积的网络,并通过微调\[3\]将其学习到的表示转移到分割任务中。然后,我们定义了askip架构,它结合了来自深层、粗糙层的语义信息和来自底层、精细层的外观信息,从而生成精确、详细的segmentations。我们的全卷积网络实现了PASCAL VOC\(相对于2012年的62.2%的平均IU,提高了20%\)、NYUDv2和SIFTFlow的最先进分割,而一个典型图像的推理时间不到五分之一秒。 6 | 7 | ## 方法 8 | 9 | 简单的说,FCN与CNN的区别在于FCN把CNN最后的全连接层换成卷积层,输出一张已经label好的图。 10 | 11 | ![](../../.gitbook/assets/image%20%28241%29.png) 12 | 13 | ![](../../.gitbook/assets/image%20%28116%29.png) 14 | 15 | 具体来说,通过CNN下采样提取图片特征,然后通过上采样的方式输出分类特征图(skip连接补充细节信息),即每个像素输出N个值(所以输出有N张特征图),表示该像素属于哪个类(即softmax分类)。 16 | 17 | ![](../../.gitbook/assets/image%20%28178%29.png) 18 | 19 | ### 实现细节 20 | 21 | 作者提供的网络模型里第一个卷积层对输入图像添加了100个像素的padding,这是因为如果输入图片大小不够,会导致下采样无法进行,这也到导致FCN引入了不少噪音。在DeepLab中使用空洞卷积解决这个问题。 22 | 23 | ## 实验 24 | 25 | 对于混合不同的下采样stride的细节信息,效果是不一样的,总体来说stride越小效果越好。 26 | 27 | ![](../../.gitbook/assets/image%20%28228%29.png) 28 | 29 | 数据集测试 30 | 31 | ![](../../.gitbook/assets/image%20%28133%29.png) 32 | 33 | ![](../../.gitbook/assets/image%20%28154%29.png) 34 | 35 | ![](../../.gitbook/assets/image%20%28189%29.png) 36 | 37 | -------------------------------------------------------------------------------- /juan-ji-wang-luo/yu-yi-fen-ge/mask-r-cnn.md: -------------------------------------------------------------------------------- 1 | # Mask R-CNN 2 | 3 | > [Mask R-CNN](https://arxiv.org/pdf/1703.06870.pdf) 4 | 5 | 我们为对象实例分割提供了概念上简单,灵活和通用的框架。 我们能够有效地检测图像中的对象,同时为每个实例生成高质量的分割掩码。该方法称为Mask R-CNN,通过添加一个分支来扩展FasterR-CNN,该分支用于预测与现有分支并行的对象掩码以进行边界框识别。Mask R-CNN很容易训练,只增加了一个小头来加速R-CNN,运行速度为5 fps。此外,Mask R-CNN很容易推广到其他任务,例如,让我们在同一框架中估计人体姿势。我们在COCO挑战套件的所有三个轨道中显示最佳结果,包括实例分割,边界框 对象检测和人员关键点检测。没有花哨的装饰,Mask R-CNN在每项任务中都优于所有现有的单一模型参赛作品,包括2016年CSO挑战赛冠军。我们希望我们简单有效的方法将成为一个坚实的基线,并有助于未来在实例级认可方面的研究。[https://github.com/facebookresearch/Detectron](https://github.com/facebookresearch/Detectron) 6 | 7 | ## 方法 8 | 9 | Mask R-CNN在概念上很简单:每个候选对象都由Faster R-CNN输出,类标签和box偏移; 为此我们添加了第三个分支,它输出对象掩码。因此,面具R-CNN是一种自然且不合时宜的想法。 但是额外的掩码输出与类和框输出不同,需要提取对象的更多空间空间布局。接下来,我们介绍Mask R-CNN的关键元素,包括像素到像素的对齐,这是Fast/Faster R-CNN的主要缺失部分。 10 | 11 | ### Mask R-CNN 12 | 13 | 掩模R-CNN采用相同的两阶段程序,具有相同的第一阶段(即RPN)。在第二阶段,并行预测类和box offset,Mask R-CNN还为每个RoI输出二进制掩码。这与最近的系统形成对比,在最近的系统中,类别筛选依赖于掩码预测。正式地,在训练期间,我们定义了一个多任务损失,对于一个采样RoI为: $$L=L_{c l s}+L_{b o x}+L_{m a s k}$$ 。 14 | 15 | ### Mask Representation 16 | 17 | 掩码编码输入对象的空间布局。 因此,与类别标签或盒子偏移不同,它们不可避免地被折叠成短连接矢量的连接(FC)层,提取掩模的空间结构可以通过卷积提供的像素到像素对应自然地解决。具体来说,我们使用FCN预测每个RoI的掩码。 18 | 19 | ### RoIAlign 20 | 21 | ![](../../.gitbook/assets/image%20%2831%29.png) 22 | 23 | RoIPool 是用于从每个RoI提取小特征映射(例如,7×7)的标准操作。在RoI中,在连续坐标上通过计算 $$[x / 7]$$ ,其中 $$[\cdot]$$ 是取整,显然这会引入错位。虽然这可能不会影响分类,而分类对小的平移是稳健的,但它对预测像素精确的掩模有很大的负面影响。为了解决这个问题,我们提出了一个ROIAlign来重新移动RoIPool的粗略量化,将提取的特征与输入正确对齐。我们使用双线性插值\[22\]来计算每个ROI箱中四个定期采样位置的输入特征的精确值,并汇总结果(使用最大值或平均值)。 24 | 25 | ### Network Architecture 26 | 27 | ![](../../.gitbook/assets/image%20%2878%29.png) 28 | 29 | ## 测试 30 | 31 | ![](../../.gitbook/assets/image%20%28173%29.png) 32 | 33 | -------------------------------------------------------------------------------- /shen-ru-li-jie/juan-ji-wang-luo/README.md: -------------------------------------------------------------------------------- 1 | # 卷积网络 2 | 3 | -------------------------------------------------------------------------------- /shen-ru-li-jie/juan-ji-wang-luo/visualizing-and-understanding-convolutional-networks.md: -------------------------------------------------------------------------------- 1 | # Visualizing and Understanding Convolutional Networks 2 | 3 | > [Visualizing and Understanding Convolutional Networks](https://arxiv.org/pdf/1311.2901.pdf) 4 | 5 | 大型卷积网络模型最近在ImageNet基准测试中表现出了令人印象深刻的分类性能(Krizhevsky等,2012)。但是,他们对于为什么它们如此良好地表现或者如何改进它们并不清楚。 在本文中,我们解决了这两个问题。我们介绍了一种新颖的可视化技术,可以深入了解中间特征层的功能和分类器的操作。 这些可视化用于诊断角色,使我们能够找到比ImageNet分类基准更优于Krizhevskyet的模型架构。 我们还进行消融研究,以发现不同模型层的性能贡献。 我们展示了我们的ImageNet模型能够很好地推广到其他数据集:当softmax分类器被重新训练时,它令人信服地胜过了当前最先进的结果:Caltech-101和Caltech-256数据集。 6 | 7 | ## 方法 8 | 9 | 为了检查convnet,如图1所示,将一个解卷积网络连接到它的每一层,提供一条返回图像像素的连续路径。 10 | 11 | ![](../../.gitbook/assets/image%20%28120%29.png) 12 | 13 | ### Unpooling 14 | 15 | 在convnet中,最大池化运算是不可逆的,但是我们可以通过在一组switch variables中记录每个池区域内最大值的位置来获得近似逆运算。在deconvnet中,unpooling操作使用这些switch将重建从上面的层放到适当的位置,保持激活的结构。有关该程序的说明,请参见图1 \(底部\)。 16 | 17 | ### Rectification 18 | 19 | 该网络使用了Relu非线性激活函数,它可以纠正特征图,从而确保特征图始终为正。 为了在每一层获得有效的特征重建(也应该是正的),我们通过Relu重建信号。 20 | 21 | ### Filtering 22 | 23 | convnet使用学习的filter来与前一层的特征图卷积。为了反转这个,deconvnet使用相同filter的转置版本,但应用于rectified后的特征图,而不是之前层的输出。 实际上,这意味着垂直和水平翻转每个filter。 24 | 25 | 从较高层向下投影使用convneton中最大池在向上投影时产生的switch settings。由于这些switch settings特定于给定的输入图像,因此从单次激活获得的重建类似于原始输入图像的一小部分,其结构根据它们对特征激活的贡献而被加权。由于模型是有判别式训练的,因此它们隐含地显示输入图像的哪些部分是有区别的。 请注意,这些预测不是来自模型的样本,因为不涉及生成过程。 26 | 27 | ## 可视化卷积 28 | 29 | ### Feature Visualization 30 | 31 | 我们将显示前9个激活,而不是显示给定特征图的单个最强激活。将每个单独投影到像素空间显示激发特征图的不同结构,从而显示其对输入变形的不变性。 32 | 33 | ![](../../.gitbook/assets/image%20%28119%29.png) 34 | 35 | ![](../../.gitbook/assets/image%20%28142%29.png) 36 | 37 | ### Feature Evolution during Training 38 | 39 | 图4可视化了在投射回像素空间的给定特征图内的强激活\(跨越所有训练示例\)训练期间的进展 40 | 41 | ![](../../.gitbook/assets/image%20%28232%29.png) 42 | 43 | ### Feature Invariance 44 | 45 | 图5示出了5个样本图像,在观察来自模型顶层和底层的特征向量相对于不变形特征的变化时,这些样本图像被平移、旋转和缩放不同程度。 46 | 47 | ![](../../.gitbook/assets/image%20%2872%29.png) 48 | 49 | ### Occlusion Sensitivity 50 | 51 | 使用图像分类方法,一个自然的问题是模型是否真实地识别了图像中对象的位置,或者只是使用周围环境。 图7试图通过用灰色方块系统地遮挡输入图像的不同部分并监视分类器的输出来回答该问题。 52 | 53 | ![](../../.gitbook/assets/image%20%28136%29.png) 54 | 55 | ### Correspondence Analysis 56 | 57 | 深度模型与许多现有的识别方法的不同之处在于,没有明确的机制来建立不同图像中特定对象部分之间的对应关系(例如,面部具有眼睛和鼻子的特定空间配置)。然而,一个有趣的可能性是深度模型可能会隐式计算它们。为了探索这一点,我们采用具有正面姿势的5个随机绘制的狗图像并且系统地屏蔽每个图像中的面部的相同部分(例如,所有左眼,参见图8)。 58 | 59 | 较低的输出值变化表示由掩蔽操作导致的变化的一致性较高,因此不同图像中相同对象部分之间的对应关系更紧密\(即,遮挡左眼以一致的方式改变特征表示\)。 60 | 61 | ![](../../.gitbook/assets/image%20%2874%29.png) 62 | 63 | -------------------------------------------------------------------------------- /shen-ru-li-jie/zhi-shi-zheng-liu/README.md: -------------------------------------------------------------------------------- 1 | # 模型蒸馏 2 | 3 | -------------------------------------------------------------------------------- /shen-ru-li-jie/zhi-shi-zheng-liu/distilling-the-knowledge-in-a-neural-network.md: -------------------------------------------------------------------------------- 1 | # Distilling the knowledge in a neural network 2 | 3 | > [Distilling the knowledge in a neural network](http://arxiv.org/pdf/1503.02531) 4 | 5 | -------------------------------------------------------------------------------- /sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/README.md: -------------------------------------------------------------------------------- 1 | # 生成对抗网络 2 | 3 | -------------------------------------------------------------------------------- /sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/conditional-generative-adversarial-nets.md: -------------------------------------------------------------------------------- 1 | # CGAN 2 | 3 | > [Conditional Generative Adversarial Nets](https://arxiv.org/abs/1411.1784) 4 | 5 | 生成对抗网\[ 8 \]最近被引入作为一种训练生成模型的新方法。在这项工作中,我们介绍了生成对抗网的条件版本,它可以通过简单地输入数据来构造,y,我们希望对生成器和鉴别器进行条件化。我们证明了该模型可以生成以类标签为条件的最大位数。我们还举例说明了该模型如何用于学习多模态模型,并提供了图像标签应用的初步示例,其中我们演示了该方法如何生成不属于训练标签的描述性标签。 6 | 7 | ## 方法 8 | 9 | ### Generative Adversarial Nets 10 | 11 | $$ 12 | \min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text { data }}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{z}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))] 13 | $$ 14 | 15 | 上式中, $$G$$ 为生成器网络, $$D$$ 为判别器网络。生成器的作用是从随机噪音生成数据,判别器的作用是学会判断输入数据的真假性。内层的 $$max$$ 表示判别器网络的损失函数:极大化真实数据的似然函数+极小化生成器输出数据的似然函数;外层 $$max$$ 表示生成器网络的损失函数:极大化生成器输出数据的似然函数。简单的说,判别器网络认为真实数据为真,生成数据为假,生成器网络改进自身让判别器网络认为自己的输出为真。 16 | 17 | ### Conditional Adversarial Nets 18 | 19 | $$ 20 | \min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\operatorname{dat}}(\boldsymbol{x})}[\log D(\boldsymbol{x} | \boldsymbol{y})]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z} | \boldsymbol{y})))] 21 | $$ 22 | 23 | 条件生成对抗网络即使数据分布服从条件概率。这样做的意义是:比如我们要生成0-9十个数字的图像,此时只要指定条件值为0-9就能得到相对应的图像。在原始的生成对抗网络中,生成器输出的数据仅仅近似真实分布,而不能决定确定类型。 24 | 25 | ![](../../.gitbook/assets/image%20%28231%29.png) 26 | 27 | ![](../../.gitbook/assets/image%20%28147%29.png) 28 | 29 | -------------------------------------------------------------------------------- /sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/cyclegan.md: -------------------------------------------------------------------------------- 1 | # CycleGAN 2 | 3 | > [Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks](https://arxiv.org/abs/1703.10593) 4 | 5 | 图像到图像的转换是一类视觉和图形问题,其目标是使用一组对齐的图像对来学习输入图像和输出图像之间的映射。但是,对于许多任务,将无法使用配对的培训数据。在没有成对例子的情况下,我们提出了一种学习将图像从源域翻译成目标域的方法。我们的目标是通过对抗损失学习映射 $$G : X \rightarrow Y$$ 使得来自分布 $$G(X)$$ 的图像与分布 $$Y$$ 无法区分。为这个映射是高度欠约束的,我们用一个逆映射对它进行耦合 $$F : Y \rightarrow X$$ 并引入循环一致性损失来强制执行 $$F(G(X)) \approx X$$ \(反之亦然\)。定性结果显示在几个不存在配对训练数据的任务中,包括收集风格转移,对象变形,季节转移,照片增强等。与几种现有方法的定量比较表明了我们方法的优越性。 6 | 7 | ![](../../.gitbook/assets/image%20%2850%29.png) 8 | 9 | ## 方法 10 | 11 | ### 整体框架 12 | 13 | ![](../../.gitbook/assets/image%20%28174%29.png) 14 | 15 | ### Adversarial Loss 16 | 17 | 我们对两个映射函数 $$G、F$$ 都应用了对抗性损失\[16\]。 对于映射函数 $$G:X→Y和$$ 它的判别器 $$D_Y$$ ,我们将目标表达为: 18 | 19 | ![](../../.gitbook/assets/image%20%2819%29.png) 20 | 21 | 通过$$\min _{F} \max _{D_{X}} \mathcal{L}_{\text { GAN }}\left(F, D_{X}, Y, X\right)$$ 训练G和D。 22 | 23 | ### Cycle Consistency Loss 24 | 25 | ![](../../.gitbook/assets/image%20%2879%29.png) 26 | 27 | ### Full Objective 28 | 29 | ![](../../.gitbook/assets/image%20%2810%29.png) 30 | 31 | 整体训练目标可以表示为: 32 | 33 | ![](../../.gitbook/assets/image%20%28103%29.png) 34 | 35 | -------------------------------------------------------------------------------- /sheng-cheng-mo-xing-wu-jian-du/sheng-cheng-dui-kang-wang-luo/dcgan.md: -------------------------------------------------------------------------------- 1 | # DCGAN 2 | 3 | > [UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS](https://arxiv.org/pdf/1511.06434.pdf) 4 | 5 | 近年来,使用卷积网络(CNN)的监督学习在计算机视觉应用中得到了广泛的应用。 相比之下,CNN的无监督学习受到的关注较少。 在这项工作中,我们希望帮助弥合有线电视新闻网在监督学习和无视学习方面的成功之间的差距。 我们介绍了一类称为深度卷积生成对抗网络(DCGAN)的CNN,它们具有一定的架构约束,并证明它们是无监督学习的有力候选者。 在各种图像数据集的训练中,我们展示了令人信服的证据,证明我们的深层卷积对抗性对在生成器和鉴别器中学习了来自对象部分的表示层次结构。 此外,我们将学习的特征用于新任务 - 证明它们作为一般图像表示的适用性。 6 | 7 | ## 方法 8 | 9 | ### MODEL ARCHITECTURE 10 | 11 | ![](../../.gitbook/assets/image%20%28205%29.png) 12 | 13 | ![](../../.gitbook/assets/image%20%28184%29.png) 14 | 15 | ### EMPIRICAL VALIDATION OFDCGANS CAPABILITIES 16 | 17 | 评估无监督表示学习算法质量的一种常见技术是将它们作为监督数据集上的特征提取器来应用,并评估在这些特征之上拟合的线性模型的性能。 18 | 19 | ![](../../.gitbook/assets/image%20%28192%29.png) 20 | 21 | ![](../../.gitbook/assets/image%20%2849%29.png) 22 | 23 | -------------------------------------------------------------------------------- /sheng-cheng-mo-xing-wu-jian-du/zi-bian-ma-qi/README.md: -------------------------------------------------------------------------------- 1 | # 自编码器 2 | 3 | -------------------------------------------------------------------------------- /sheng-cheng-mo-xing-wu-jian-du/zi-bian-ma-qi/auto-encoding-variational-bayes.md: -------------------------------------------------------------------------------- 1 | # Auto-encoding variational Bayes 2 | 3 | > [Auto-encoding variational Bayes](http://arxiv.org/pdf/1312.6114) 4 | 5 | -------------------------------------------------------------------------------- /tong-ji-xue-xi/gai-lv-tu-mo-xing/README.md: -------------------------------------------------------------------------------- 1 | # 概率图模型 2 | 3 | -------------------------------------------------------------------------------- /tong-ji-xue-xi/gai-lv-tu-mo-xing/conditional-random-field.md: -------------------------------------------------------------------------------- 1 | # Conditional Random Field 2 | 3 | {% file src="../../.gitbook/assets/crftut-fnt.pdf" caption="An Introduction to Conditional Random Fields " %} 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /tong-ji-xue-xi/ji-cheng-xue-xi/README.md: -------------------------------------------------------------------------------- 1 | # 集成学习 2 | 3 | -------------------------------------------------------------------------------- /tong-ji-xue-xi/ji-cheng-xue-xi/xgboost.md: -------------------------------------------------------------------------------- 1 | # XGBoost 2 | 3 | > [XGBoost: A Scalable Tree Boosting System](https://arxiv.org/abs/1603.02754) 4 | 5 | Tree boosting是一种高效且广泛使用的机器学习方法。 在本文中,我们描述了一个可扩展的端到端树推进系统XGBoost,它被数据科学家广泛使用,以在许多机器学习挑战中实现最先进的结果。我们提出了一种新的稀疏数据稀疏算法和近似树学习的加权量化框架。更重要的是,我们提供了有关缓存访问模式,数据压缩和分片的见解,以构建可扩展的树提升系统。通过结合这些见解,XGBoost使用比现有系统少得多的资源来扩展数十亿个示例。 6 | 7 | ## 方法 8 | 9 | ### TREE BOOSTING IN A NUTSHELL 10 | 11 | 我们回顾了梯度树提升算法。这个推导是从梯度提升中现有迭代的相同思想得出的。特别是第二阶方法起源于弗里德曼等人。\[12\]。我们对规定的目标进行了改进,这在实践中是有帮助的。 12 | 13 | ![](../../.gitbook/assets/image%20%2880%29.png) 14 | 15 | #### Regularized Learning Objective 16 | 17 | 集成树模型使用K个树预测的结果相加 18 | 19 | ![](../../.gitbook/assets/image%20%28169%29.png) 20 | 21 | 其中 $$\mathcal{F}=\left\{f(\mathrm{x})=w_{q(\mathrm{x})}\right\}\left(q : \mathbb{R}^{m} \rightarrow T, w \in \mathbb{R}^{T}\right)$$ ,q表示每个树的结构,它将一个例子映射到相应的叶子索引。T是树中叶子的数量。 每个 $$f_{k}$$ 对应于独立的树结构q和叶子权重w。与决策树不同,每个回归树包含每个叶子上的连续分数,我们使用 $$w_i$$ 代表i-th 叶子的分数。 22 | 23 | 树的求解目标是最小化以下损失 24 | 25 | ![](../../.gitbook/assets/image%20%2886%29.png) 26 | 27 | 其中第二项是正则化,用来防止过拟合问题。 28 | 29 | #### Gradient Tree Boosting 30 | 31 | 因为是加法模型,每次训练一颗新树,我们的求解目标为: 32 | 33 | ![](../../.gitbook/assets/image%20%2851%29.png) 34 | 35 | 二阶泰勒展开 36 | 37 | ![](../../.gitbook/assets/image%20%2896%29.png) 38 | 39 | 其中 $$g_{i}=\partial_{\hat{y}^(t-1)} l\left(y_{i}, \hat{y}^{(t-1)}\right) \text { and } h_{i}=\partial_{\hat{y}^{(t-1)}}^{2} l\left(y_{i}, \hat{y}^{(t-1)}\right)$$ 40 | 41 | 去除常量 42 | 43 | ![](../../.gitbook/assets/image%20%28180%29.png) 44 | 45 | 设 $$I_{j}=\left\{i | q\left(\mathbf{x}_{i}\right)=j\right\}$$ 是叶子节点 $$j$$ 上的实例,代入展开: 46 | 47 | ![](../../.gitbook/assets/image%20%28104%29.png) 48 | 49 | 对于固定结构q\(x\),我们可以计算出叶子的最佳权重 50 | 51 | ![](../../.gitbook/assets/image%20%2868%29.png) 52 | 53 | 并计算相应的最优值 54 | 55 | ![](../../.gitbook/assets/image%20%286%29.png) 56 | 57 | 等式\(6\)可用作衡量树形结构质量的评分函数q。这个分数就像评估决策树的不纯分数,除了它是为更广泛的目标函数而衍生的。图2举例说明了如何计算这个分数。 58 | 59 | ![](../../.gitbook/assets/image%20%2881%29.png) 60 | 61 | 通常,不可能枚举所有可能的树结构。 使用一种贪婪算法,该算法从单个叶子开始并迭代地将分支添加到树中。一个节点分裂成L、R两部分后的评分可以表示为: 62 | 63 | ![](../../.gitbook/assets/image.png) 64 | 65 | #### Shrinkage and Column Subsampling 66 | 67 | 除了第二节中提到的正则化目标。 2.1,使用另外两种技术来进一步防止过度拟合。第一种技术是Fried-man引入的收缩\[11\]。 在树木提升的每个步骤之后,收缩比例新增加了因子η。 与随机优化中的学习率相似,收缩减少了每棵树的影响,并为未来的树木留下了空间来改进模型。第二种技术是列\(特征\)二次采样。这种技术在随机森林中使用。根据用户反馈,使用列子采样比传统的行子采样\(也受支持\)更能防止过度拟合。列子样本的使用也加速了后面描述的并行算法的计算。 68 | 69 | ### SPLIT FINDING ALGORITHMS 70 | 71 | #### Basic Exact Greedy Algorithm 72 | 73 | 树学习中的一个关键问题是找到最佳分裂,如公式(7)所示。 为此,split finding算法枚举所有特征上的所有可能拆分。我们称之为exact greedy algorithm。大多数现有的单机树提升实现,例如scikit-learn \[20\],R的gbm \[21\]以及XGBoost的单机版本支持精确的贪婪算法。确切的贪婪算法如Alg1所示。 计算连续特征的所有可能分裂的计算要求很高。 为了有效地执行此操作,算法必须首先根据特征值对数据进行排序,并按排序顺序访问数据,以便在方程(7)中累积结构分数的梯度统计数据。 74 | 75 | ![](../../.gitbook/assets/image%20%2828%29.png) 76 | 77 | #### Approximate Algorithm 78 | 79 | 精确贪婪算法非常强大,因为它贪婪地收集所有可能的分裂点。然而,当数据没有完全装入内存时,就不可能有效地这样做。为了在这两个设置中支持有效的梯度树增强,需要近似算法。 80 | 81 | 我们总结了一个近似的框架,它类似于过去的文献\[17,2,22\]中提出的思想。 2.总之,该算法首先根据特征分布的百分位数提出了可以分割的分裂点(具体标准将在3.3节中给出)。然后,算法将连续特征映射到由这些候选点分割的分数点,聚合 统计数据,并根据聚合统计数据找到提案中的最佳解决方案。 82 | 83 | ![](../../.gitbook/assets/image%20%2826%29.png) 84 | 85 | #### Weighted Quantile Sketch 86 | 87 | 给定 $$\mathcal{D}_{k}=\left\{\left(x_{1 k}, h_{1}\right),\left(x_{2 k}, h_{2}\right) \cdots\left(x_{n k}, h_{n}\right)\right\}$$ 表示每个训练实例的第k个特征值和二阶梯度统计。 我们可以定义一个排名函数。 88 | 89 | ![](../../.gitbook/assets/image%20%28194%29.png) 90 | 91 | 表示特征值小于z的实例的比例。目标是找到候选分割点 $$\left\{s_{k 1}, s_{k 2}, \cdots s_{k l}\right\}$$ : 92 | 93 | ![](../../.gitbook/assets/image%20%2867%29.png) 94 | 95 | 这里 $$\epsilon$$ 是一个近似因子,直觉上,这意味着大约有 $$1/\epsilon$$ 个候选点。为了了解为什么 $$h_{i}$$ 会代表权重,我们可以将等式\(3\)改写为: 96 | 97 | ![](../../.gitbook/assets/image%20%28179%29.png) 98 | 99 | 这是用 $$g_{i} / h_{i}$$ 和 $$h_{i}$$ 精确加权的平方损失。 100 | 101 | #### Sparsity-aware Split Finding 102 | 103 | 在许多现实问题中,输入稀疏是很常见的。使算法了解数据中的稀疏模式是非常重要的。为了做到这一点,我们建议在每个树节点中添加一个默认方向,如图4所示。当稀疏矩阵x中缺少A值时,实例将被分类为默认方向。 104 | 105 | ![](../../.gitbook/assets/image%20%28125%29.png) 106 | 107 | 从数据中学习最佳默认方向。 该算法显示在Alg3中。 关键的改进是只访问non-missing entries。 108 | 109 | ![](../../.gitbook/assets/image%20%28240%29.png) 110 | 111 | ### SYSTEM DESIGN 112 | 113 | #### Column Block for Parallel Learning 114 | 115 | 树学习中最耗时的部分是将数据按顺序排列。 为了降低分类成本,我们建议将数据存储在内存单元中,我们称之为块。每个块中的数据以压缩列(CSC)格式存储,每列按相应的特征值排序。 该输入数据布局通常需要在训练之前计算一次,并且可以在以后的迭代中重复使用。 116 | 117 | 在精确的贪婪算法中,我们将整个数据库存储在一个块中,并通过对预先排序的条目进行lin-early扫描来运行拆分搜索算法。 我们集体对所有叶子进行分割,因此对块的一次扫描会收集所有叶子中分割候选的统计数据。 图6显示了我们如何将数据集转换为格式并使用块结构找到最佳分割。 118 | 119 | ![](../../.gitbook/assets/image%20%28159%29.png) 120 | 121 | 收集每列的统计数据可以并行化,为我们提供了一种用于拆分查找的并行算法。 重要的是,列块结构还支持列子数据,因为很容易在块中选择列的子集 122 | 123 | #### Cache-aware Access 124 | 125 | 虽然所提出的块结构有助于优化分裂查找的计算复杂度,但是新算法需要通过行索引间接提取梯度统计量,因为这些值是按特征顺序访问的。 这是一种非连续的内存访问。 分裂枚举的简单实现引入了累积和非连续记忆提取操作之间的立即读/写依赖性(参见图8)。 当梯度统计信息不适合CPU缓存并发生缓存未命中时,这会减慢split finding。 126 | 127 | ![](../../.gitbook/assets/image%20%28190%29.png) 128 | 129 | 对于精确的贪婪算法,我们可以通过缓存感知预取算法来缓解这个问题。具体来说,我们在每个线程中分配一个内部缓冲区,获取数据统计信息,然后以小批量的方式执行累加。这种预取将directread/write依赖项更改为更长的依赖项,并有助于在预取中的行数很大时减少运行时开销。 130 | 131 | ![](../../.gitbook/assets/image%20%28134%29.png) 132 | 133 | #### Blocks for Out-of-core Computation 134 | 135 | 我们系统的一个目标是充分利用机器的资源来实现可扩展的学习。除处理器和内存外,利用磁盘空间处理不适合主内存的数据也很重要。为了实现核外计算,我们将数据分成多个块,并将每个块存储在磁盘上。在计算过程中,使用独立的线程将块预取到主内存缓冲区是很重要的,因此计算可以在与磁盘读取相关的情况下进行。但是,这并不能完全解决问题,因为磁盘读取占用了大部分计算时间。减少开销并增加磁盘IO的吞吐量非常重要。 136 | 137 | * **Block Compression** 我们使用的第一种技术是块压缩。 该块由列压缩,并在加载到主存储器时由独立的线程在运行中解压缩。 138 | * **Block Sharding** 第二种技术是以另一种方式将数据分割到多个磁盘上。预提取线程被分配给每个磁盘,并将数据提取到内存缓冲区中。 139 | 140 | -------------------------------------------------------------------------------- /tong-ji-xue-xi/xian-xing-mo-xing/README.md: -------------------------------------------------------------------------------- 1 | # 线性模型 2 | 3 | -------------------------------------------------------------------------------- /tong-ji-xue-xi/xian-xing-mo-xing/factorization-machine.md: -------------------------------------------------------------------------------- 1 | # Factorization Machine 2 | 3 | > [Factorization Machines](https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf) 4 | 5 | 本文介绍了因子分解机,这是一种结合支持向量机\(SVM\)和因子分解模型优点的新模型类。像支持向量机一样,FMs是一种通用的预测器,适用于任何实值特征向量。与SVMs不同,FMs使用因子化参数来模拟变量之间的相互作用。因此,即使在支持向量机失败的稀疏性问题\(如推荐系统\)中,他们也能够估计交互。结果表明,FMs的模型方程可以在线性时间内计算出来,从而可以直接优化FMs。因此,与非线性支持向量机不同,对偶形式的变换是不必要的,模型参数可以直接估计,而不需要解中的任何支持向量。我们展示了与支持向量机的关系以及FMs在稀疏环境下参数估计的优势。 6 | 7 | 另一方面,有许多不同的因子分解模型,如矩阵因子分解、并行因子分析或特殊模型,如奇异值分解++、PITF或FPMC。这些模型的缺点是它们不适用于一般的预测任务,而只能用于特殊的输入数据。此外,它们的建模和优化算法是针对每个任务单独导出的。我们表明,FMs可以通过指定输入数据\(即特征向量\)来模拟这些模型。这使得即使用户没有因子分解模型方面的专家知识,也可以很容易地应用因子分解模型 8 | 9 | 总的来说,我们提出的FM的优点是: 10 | 11 | 1. 支持向量机失败时,支持向量机允许在非常稀疏的数据下进行参数估计。 12 | 2. 支持向量机具有线性复杂度,可以在原模型中优化,不依赖支持向量机等支持向量。我们表明,FMs可以扩展到像Netflixwith这样的大型数据集,有1亿个训练实例。 13 | 3. FMs是一个通用的预测器,可以处理任何实值特征向量。与此相反,其他最先进的因子分解模型只对非常有限的输入数据有效。我们将展示,仅仅通过定义输入数据的特征向量,FMs就可以模仿最先进的模型,如偏置MF、SVD++、PITF或FPMC 14 | 15 | ## 方法 16 | 17 | ### Factorization Machine Model 18 | 19 | ![](../../.gitbook/assets/image%20%28195%29.png) 20 | 21 | 其中 22 | 23 | ![](../../.gitbook/assets/image%20%28160%29.png) 24 | 25 | ![](../../.gitbook/assets/image%20%2832%29.png) 26 | 27 | #### 稀疏数据 28 | 29 | 在稀疏设置中,通常没有足够的数据来直接和独立地估计变量之间的相互作用。 即使在这些设置中,因子分解机器也可以估计交互,因为它们通过分解它们来打破交互参数的独立性。通常,这意味着一次交互的数据也有助于估计相关交互的参数。 30 | 31 | #### 计算复杂度 32 | 33 | ![](../../.gitbook/assets/image%20%2815%29.png) 34 | 35 | ### Factorization Machines as Predictors 36 | 37 | ![](../../.gitbook/assets/image%20%28214%29.png) 38 | 39 | ### Learning Factorization Machines 40 | 41 | ![](../../.gitbook/assets/image%20%284%29.png) 42 | 43 | ### SVMs fail for very sparse problems 44 | 45 | ![](../../.gitbook/assets/image%20%2843%29.png) 46 | 47 | 考虑使用高阶核的SVM 48 | 49 | ![](../../.gitbook/assets/image%20%288%29.png) 50 | 51 | 由于训练数据的稀疏性,很多高阶的权重得不到有效训练,所以对于稀疏数据效果一般。而FM使用因子分解的形式,有效避免了参数得不到训练的情况. 52 | 53 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/ci-xiang-liang/README.md: -------------------------------------------------------------------------------- 1 | # 词向量 2 | 3 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/ci-xiang-liang/bert.md: -------------------------------------------------------------------------------- 1 | # BERT 2 | 3 | > [BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding](https://arxiv.org/abs/1810.04805) 4 | 5 | 我们引入了一种名为BER的新语言表示模型,它代表来自变换器的双向编码器表示。与最近的语言表示模型\(Peters et al., 2018; Radfordet al., 2018)不同,BERT旨在通过在所有层中的左右上下文中联合调节来预先训练双向表示。因此,预训练的BERT表示可以通过一个附加输出层进行微调,以创建适用于各种任务的最先进模型,例如问答和语言推断,而无需特定任务的特定结构修改。 6 | 7 | BERT在概念上简单且经验丰富。 它获得了11项自然语言处理任务的最新成果,包括将GLUE基准推向80.4%(绝对改进率为7.6%)。MultiNLI精度达到86.7%(绝对改进5.6%)和SQuAD v1.1问题回答测试F1至93.2(1.5绝对改善),优于人类表现2.0。 8 | 9 | 我们的主要贡献是: 10 | 11 | * 我们证明了双向预训练对于语言表达的重要性。 12 | * 我们表明,预先训练的表示能够满足许多经过大量工程设计的特定于任务的体系结构的需求 13 | * BERT推进了11种NLP任务的最新水准。 14 | 15 | ## 方法 16 | 17 | ### Model Architecture 18 | 19 | BERT的模型架构是一个多层双向Transformer编码器,基于Vaswani等人(2017)中原始描述的实现,并在tensor2tensor library中发布。 20 | 21 | 选择 $$BERT_{BASE }$$ 与OpenAI GPT具有相同的模型大小以进行比较。至关重要的是,BERT Transformer使用双向自我关注,而GPT Transformer使用受限制的自我关注,而且只有左侧的上下文才能使用。 22 | 23 | ![](../../.gitbook/assets/image%20%28215%29.png) 24 | 25 | ### Input Representation 26 | 27 | 我们的输入表示能够在单词序列中明确地表示单个文本句子或一对文本句子(例如,\[问题,答案\])。对于给定的token,其输入代表是通过对相应的token,segment和位置嵌入进行求和来构造的。 28 | 29 | * 我们使用WordPiece嵌入(Wu et al., 2016)和30,000个token词汇表。 用\#\#分词。 30 | * 我们使用学习的位置嵌入,支持的序列长度最多为512个token。 31 | * 每个序列的第一个标记都是特殊分类嵌入(\[CLS\])。 对应于该token的最终隐藏状态(即,Transformer的输出)被用作分类任务的聚合序列表示。 对于非分类任务,将忽略此向量。 32 | * 句子对被打包成单个序列。我们用两种方式区分句子。首先,我们用一个特殊的记号\(\[SEP\)把它们分开。第二,我们在第一个句子的每一个token上加上一个可学习的sentence Aembedding,在第二个句子的每一个token上加上一个可学习的sentence B embedding。 33 | * 对于单句输入,我们只使用sentence A embeddings 34 | 35 | ![](../../.gitbook/assets/image%20%28150%29.png) 36 | 37 | ### Pre-training Tasks 38 | 39 | 与Peters等人不同。 (2018年)和Radford等人(2018年),我们不使用传统的从左到右或从右到左的语言模型预训练BERT。相反,我们使用两个新的非预测预测任务预训练BERT。 40 | 41 | #### Task \#1: Masked LM 42 | 43 | 为了训练深度双向表示,我们采用直接的方法随机屏蔽一定比例的输入token,然后仅预测那些被屏蔽的token。 44 | 45 | ![](../../.gitbook/assets/image%20%28151%29.png) 46 | 47 | #### Task \#2: Next Sentence Prediction 48 | 49 | 许多重要的下游任务,例如问答(QA)和自然语言推理(NLI),都是基于对两个文本句子之间的理解的理解,而这两个文本句子并不直接通过语言建模来捕获。为了训练一个理解句子关系的模型,我们预先训练一个二进制的下一个句子预测任务,这个预测任务可以从任何单语语料库中简单地生成。 50 | 51 | ![](../../.gitbook/assets/image%20%28163%29.png) 52 | 53 | ## 实验 54 | 55 | ![](../../.gitbook/assets/image%20%28137%29.png) 56 | 57 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/ci-xiang-liang/glove.md: -------------------------------------------------------------------------------- 1 | # Word2Vec 2 | 3 | > [Efficient Estimation of Word Representations in Vector Space](https://arxiv.org/abs/1301.3781) 4 | 5 | 我们提出了两种新颖的模型体系结构,用于计算来自非常大的数据集的单词的连续矢量表示。 在单词相似性任务中测量这些表示的质量,并且将结果与基于不同类型的神经网络的先前最佳执行技术进行比较。 我们在低得多的计算成本下观察到准确性的大幅提高,即从16亿字数据集中学习高质量字向量需要不到一天的时间。 此外,我们表明这些向量在我们的测试集上提供了最先进的性能,用于测量句法和语义单词的相似性。 6 | 7 | {% file src="../../.gitbook/assets/word2vec-zhong-de-shu-xue \(1\).pdf" caption="Word2Vec中的数学" %} 8 | 9 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/ji-qi-fan-yi/README.md: -------------------------------------------------------------------------------- 1 | # 机器翻译 2 | 3 | ## **介绍** 4 | 5 | ![](../../.gitbook/assets/image%20%2866%29.png) 6 | 7 | 机器翻译即用神经网络将文本从一种语言翻译到另一种语言,最常见的模型是编码器-解码器模型。 8 | 9 | ## 性能评价 10 | 11 | ### BLEU 12 | 13 | BLEU\(Bilingual Evaluation understudy\)方法由IBM提出,这种方法认为如果熟译系统魏译文越接近人工翻翻译结果,那么它的翻译质量越高。所以,评测关键就在于如何定义系统译文与参考译文之间的相似度。BLEU 采用的方式是比较并统计共同出现的n元词的个数,即统计同时出现在系统译文和参考译文中的n元词的个数,最后把匹配到的n元词的数目除以系统译文的单词数目,得到评测结果。 14 | 15 | 最开始提出的BLEU法虽然简单易行,但是它没有考虑到翻译的召回率。后对BLEU做了修正,首先计算出一个n元词在一个句子中最大可能出现的次数MaxRefCount\(n-gram\),然后跟候选译文中的这个n元词出现的次数作比较,取它们之间最小值作为这个n元词的最终匹配个数。 16 | 17 | ![](../../.gitbook/assets/image%20%2811%29.png) 18 | 19 | 其中Count\(n-gram\)是某个n元词在候选译文中的出现次数,而MaxRefCount\(n-gram\)是该n元词在参考译文中出现的最大次数。 20 | 21 | 共现n元词的精度Pn定义为: 22 | 23 | ![](../../.gitbook/assets/image%20%28230%29.png) 24 | 25 | BLEU 方法在得到上述结果之后,其评价分数可通过下式来计算 26 | 27 | ![](../../.gitbook/assets/image%20%2859%29.png) 28 | 29 | 其中Wn表示共现n元词的权重,BP\(Brevity Penalty\)是惩罚因子: 30 | 31 | ![](../../.gitbook/assets/image%20%2858%29.png) 32 | 33 | 这里的c是机器译文的词数,r是参考译文的词数。 34 | 35 | ### **NIST** 36 | 37 | NIST\(National Institute of standards and Technology\)方法是在BLEU方法上的一种改进。它并不是简单的将匹配的n—gram片段数目累加起来,而是求出每个n-gram的信息量\(information\),然后累加起来再除以整个译文的n-gram片段数目。信息量的计算公式是: 38 | 39 | ![](../../.gitbook/assets/image%20%28100%29.png) 40 | 41 | 上式中分母是n元词在参考译文中出现的次数,分子是对应的n-l元词在参考译文中的出现次数。对于一元词汇,分子的取值就是整个参考译文的长度。 42 | 43 | 计算信息量之后,就可以对每一个共现n元词乘以它的信息量权重,再进行 44 | 45 | 加权求平均得出最后的评分结果: 46 | 47 | ![](../../.gitbook/assets/image%20%28208%29.png) 48 | 49 | NIST采用的是算术平均方式,Lsys是使系统译文的长度,而Lref是参考译文的平均长度,是一个经验阈值,它使整个惩罚值在系统译文的长度是参考译文长度的2/3时为0.5。 50 | 51 | ### **错词率** 52 | 53 | 错词率\(The Word error rate, WER\) 是一个基于[Levenshtein距](https://link.jianshu.com?t=http://en.wikipedia.org/wiki/Levenshtein_distance)离([http://en.wikipedia.org/wiki/Levenshtein\_distance](https://link.jianshu.com?t=http://en.wikipedia.org/wiki/Levenshtein_distance))的准则, 但是Levenshtein距离一般是在字符级别上计算的, 而此处的WER 是在词的基础上计算的. 事实上,最开始的时候,WER是用作判别[语音识别](https://link.jianshu.com?t=http://lib.csdn.net/base/vras)系统识别结果好坏的标准, 后被沿用到[机器翻译](https://link.jianshu.com?t=http://lib.csdn.net/base/machinetranslation)结果好坏判定上了. 标准的大致[算法](https://link.jianshu.com?t=http://lib.csdn.net/base/datastructure)是评估我们的机器翻译结果和给定的标准答案之间的差别词数. 54 | 55 | 有一个与之对应的位置无关单词错误率评测标准PER, 这个标准能够容许翻译时候的词或者短语位置变化。 56 | 57 | ### **METEOR** 58 | 59 | METEOR测度的目的是解决一些BLEU标准中固有的缺陷。METEOR标准基于单精度的加权调和平均数和单字召回率。该标准是2004年Lavir发现在评价指标中召回率的意义后被提出的。他们的研究表明,召回率基础上的标准相比于那些单纯基于精度的标准\(例如BLEU和NIST\),其结果和人工判断的结果有较高相关性。 60 | 61 | METEOR也包括其他指标没有发现一些其他功能,如同义词匹配,而不是只在确切的词形式匹配,匹配度量也对同义词。例如,“好”的参考渲染为“好”的翻译是一个比赛。度量也包括词干分析器,它lemmatises在lemmatised形式的话,比赛。度量标准的实施,是模块化的,这场比赛的话作为模块实现的算法,以及新的模块,实现不同的匹配策略可以很容易地添加。 62 | 63 | 常用的评价准则可参见下表: 64 | 65 | ![](../../.gitbook/assets/image%20%28162%29.png) 66 | 67 | \*\*\*\* 68 | 69 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/ji-qi-fan-yi/googles-neural-machine-translation-system-bridging-the-gap-between-human-and-machine-translation.md: -------------------------------------------------------------------------------- 1 | # Google's neural machine translation system 2 | 3 | > [Google's neural machine translation system: Bridging the gap between human and machine translation](https://arxiv.org/pdf/1609.08144) 4 | 5 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/ji-qi-fan-yi/neural-machine-translation-by-jointly-learning-to-align-and-translate.md: -------------------------------------------------------------------------------- 1 | # Neural Machine Translation 2 | 3 | > [Neural Machine Translation by Jointly Learning to Align and Translate](https://arxiv.org/abs/1409.0473v2) 4 | 5 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/qing-gan-fen-xi/README.md: -------------------------------------------------------------------------------- 1 | # 文本分类 2 | 3 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/qing-gan-fen-xi/convolutional-neural-networks-for-sentence-classification.md: -------------------------------------------------------------------------------- 1 | # CNN 2 | 3 | > [Convolutional neural networks for sentence classification](http://arxiv.org/pdf/1408.5882) 4 | 5 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/qing-gan-fen-xi/recurrent-convolutional-neural-networks-for-text-classification.md: -------------------------------------------------------------------------------- 1 | # RCNN 2 | 3 | > [Recurrent Convolutional Neural Networks for Text Classification](http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F2929368FEDF4A9A7E495DC2A3137D19?doi=10.1.1.822.3091&rep=rep1&type=pdf) 4 | 5 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/shen-jing-tu-ling-ji/README.md: -------------------------------------------------------------------------------- 1 | # 神经图灵机 2 | 3 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/shen-jing-tu-ling-ji/hybrid-computing-using-a-neural-network-with-dynamic-external-memory.md: -------------------------------------------------------------------------------- 1 | # Dynamic External Memory 2 | 3 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/shen-jing-tu-ling-ji/neural-turing-machines.md: -------------------------------------------------------------------------------- 1 | # Neural turing machines 2 | 3 | > [Neural turing machines](https://arxiv.org/pdf/1410.5401) 4 | 5 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/zhu-yi-li-ji-zhi/README.md: -------------------------------------------------------------------------------- 1 | # 注意力机制 2 | 3 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/zhu-yi-li-ji-zhi/pointer-network.md: -------------------------------------------------------------------------------- 1 | # Pointer Network 2 | 3 | > [Pointer Networks](https://arxiv.org/abs/1506.03134) 4 | 5 | -------------------------------------------------------------------------------- /xun-huan-he-di-gui-wang-luo/zhu-yi-li-ji-zhi/transformer.md: -------------------------------------------------------------------------------- 1 | # Transformer 2 | 3 | ## 介绍 4 | 5 | > [Attention Is All You Need](https://arxiv.org/pdf/1706.03762.pdf) 6 | 7 | 主要序列转导模型基于复杂的复发或卷积神经网络,其包括编码器和解码器。 性能最佳的模型还通过注意机制连接编码器和解码器。 我们提出了一种新的简单网络架构,Transformer,完全基于注意机制,完全免除循环和卷积。在两个机器翻译任务上的实验表明,这些模型在质量上更优越,同时更具并行性,并且需要大量的时间来训练。我们的模型在WMT 2014英语 - 德语翻译任务中达到了28.4 BLEU,超过现有的最佳成绩,包括2个以上的BLEU。在WMT 2014英语到法语的翻译任务中,我们的模型建立了一个新的单模型最新BLEU得分为41.8,在8个GPU上续航3.5天,这是最好的模型训练成本的一小部分文献。我们通过将其成功应用于英语选区解析大型和有限的训练数据,表明Transformer能够很好地概括其他任务。 8 | 9 | ## 方法 10 | 11 | 大多数有竞争力的神经序列转导模型具有编码器 - 解码器结构。编码器将符号表示的输入序列 $$\left(x_{1}, \dots, x_{n}\right)$$ 映射到连续表示的序列 $$\mathbf{z}=\left(z_{1}, \dots, z_{n}\right)$$ 。 给定 $$z$$ ,解码器然后一次一个元素地生成符号的输出序列 $$\left(y_{1}, \dots, y_{m}\right)$$ 。 12 | 13 | Transformer遵循这种整体架构,使用堆叠的自注意和逐点,完全连接的层,用于编码器和解码器,分别如图1的左半部分和右半部分所示。 14 | 15 | ![](../../.gitbook/assets/image%20%28177%29.png) 16 | 17 | 18 | 19 | ### Encoder and Decoder Stacks 20 | 21 | #### Encoder 22 | 23 | 编码器由N = 6个相同层的堆栈组成。 每层都有两层。第一种是多头自我关注机制,第二种是简单的,位置完全连接的前馈网络。 我们在两个子层中的每一个周围使用残差连接\[11\],然后是层归一化\[1\](即针对每层的输出跨通道归一化)。也就是说,每个子层的输出是: $$Layernorm(x+\text { Sublayer }(x))$$ 。为了促进这些残差连接,模型中的所有子层以及嵌入层都生成 $$d_{\text { model }}=512$$ 的输出。 24 | 25 | #### Decoder 26 | 27 | 解码器还由N = 6个相同层的堆栈组成。 除了每个编码器层中的两层之外,解码器还插入第三个层,其在编码器堆栈的输出上执行多头注意力机制。 与编码器类似,我们在每个子层周围使用残差连接,然后进层归一化。我们还修改了解码器堆栈中的自注意子层,以防止位置关注后续位置。 此掩码与输出嵌入被一个位置偏移的事实相结合,确保了 $$i$$ 的预测仅依赖于小于 $$i$$ 的位置处的已知输出。 28 | 29 | ### Attention 30 | 31 | 注意功能可以被描述为将query和一组key-value对映射到output,其中query,key,value和output都是向量。输出被计算为值的加权总和,其中分配给每个值的权重由query与相应key的兼容性函数来计算。 32 | 33 | ![](../../.gitbook/assets/image%20%28236%29.png) 34 | 35 | #### Scaled Dot-Product Attention 36 | 37 | 注意力的计算公式如下 38 | 39 | ![](../../.gitbook/assets/image%20%2869%29.png) 40 | 41 | 其中Q、K、V分别是query、key、value向量组成的矩阵(这些向量通过embedding与权重矩阵相乘得到), $$d_{k}$$ 是向量的维度。缩放因子 $$\sqrt{d_{k}}$$ 用于减小点积大小增长对梯度的影响。 42 | 43 | 另外要说一下新加的attention多加了一个mask,因为训练时的output都是ground truth,这样可以确保预测第i个位置时不会接触到未来的信息 44 | 45 | #### Multi-Head Attention 46 | 47 | 我们使用8个并行的注意力头提升对不同区域的关注 48 | 49 | ![](../../.gitbook/assets/image%20%28114%29.png) 50 | 51 | ### Position-wise Feed-Forward Networks 52 | 53 | 除了注意子层之外,我们编码器和解码器中的每一层都包含一个完全关联的前馈网络,该网络分别且完全相同地应用于每个位置。这包括两个线性变换,其间有ReLU激活。 54 | 55 | ![](../../.gitbook/assets/image%20%2873%29.png) 56 | 57 | ### Embeddings and Softmax 58 | 59 | 与其他序列转导模型类似,我们使用学习嵌入将输入token和输出token转换为 $$d_{\text { model }}$$ 维度的向量。我们还使用通常学习的线性变换和softmax函数将解码器输出转换为预测的下一token的概率。 60 | 61 | ### Positional Encoding 62 | 63 | 由于我们的模型不包含重复和没有卷积,为了使模型能够利用序列的顺序,我们必须注入一些关于相对或绝对位置的信息。为此,我们在编码器和解码器堆栈的底部为输入嵌入添加“位置编码”。 64 | 65 | ![](../../.gitbook/assets/image%20%28193%29.png) 66 | 67 | ### Why Self-Attention 68 | 69 | 一个是每层的总计算复杂度。另一个是可以并行化的计算量,用所需的最小顺序操作数来衡量。 70 | 71 | 第三是网络中远程依赖之间的路径长度。学习长程相关性是许多序列转导任务中的一个关键挑战。影响学习这种依赖性的能力的一个关键因素是前向和后向信号在网络中的总长度。 输入和输出序列中任何位置组合之间的这些路径越短,学习远程依赖性就越容易\[12\]。 因此,我们还比较了由不同层类型组成的网络中任意两个输入和输出位置之间的最大路径长度。 72 | 73 | ![](../../.gitbook/assets/image%20%28101%29.png) 74 | 75 | ## 实验 76 | 77 | ![](../../.gitbook/assets/image%20%2899%29.png) 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /ying-jian/cuda/README.md: -------------------------------------------------------------------------------- 1 | # CUDA 2 | 3 | -------------------------------------------------------------------------------- /ying-jian/cuda/cuda-c-programming-guide/README.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: 'https://docs.nvidia.com/cuda/cuda-c-programming-guide/' 3 | --- 4 | 5 | # CUDA C Programming Guide 6 | 7 | -------------------------------------------------------------------------------- /ying-jian/cuda/cuda-c-programming-guide/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | 4 | 5 | ### From Graphics Processing to General Purpose Parallel Computing 6 | 7 | 在可实现的高清3D图形市场需求的推动下,可编程图形处理器单元或GPU已经发展成为高度并行,多线程,多核处理器,具有巨大的计算能力和非常高的内存带宽,如图1和图所示 2。 8 | 9 | Figure 1. Floating-Point Operations per Second for the CPU and GPU 10 | 11 | ![](../../../.gitbook/assets/image%20%28238%29.png) 12 | 13 | Figure 2. Memory Bandwidth for the CPU and GPU 14 | 15 | ![](../../../.gitbook/assets/image%20%28148%29.png) 16 | 17 | CPU和GPU之间浮点能力差异背后的原因是GPU专门用于计算密集型,高度并行计算 - 正是图形渲染的关键 - 因此设计使得更多晶体管用于数据处理 而不是数据缓存和流量控制,如图3示意性所示。 18 | 19 | Figure 3. The GPU Devotes More Transistors to Data Processing 20 | 21 | ![](../../../.gitbook/assets/image%20%2845%29.png) 22 | 23 | 更具体地说,图形处理器特别适合于解决可以表示为数据并行计算的问题——在许多数据元素上并行执行相同的程序——具有高运算强度——算术运算与存储器运算的比率。因为对每个数据元素执行相同的程序,所以对复杂的流控制的要求较低,并且因为它在许多数据元素上执行并且具有高运算强度,所以可以用计算而不是大数据高速缓存来隐藏存储器访问延迟。 24 | 25 | 数据并行处理将数据元素映射到并行处理线程。许多处理大型数据集的应用程序可以使用数据并行编程模型来加速计算。在3D渲染中,大量像素和顶点被映射到并行线程。类似地,图像和媒体处理应用,例如渲染图像的后处理、视频编码和解码、图像缩放、立体视觉和模式识别,可以将图像块和像素映射到并行处理线程。事实上,从一般信号处理或物理模拟到计算金融或计算生物学,图像渲染和处理领域之外的许多算法都通过数据并行处理得到了加速。 26 | 27 | ### CUDA®: A General-Purpose Parallel Computing Platform and Programming Model 28 | 29 | 2006年11月,NVIDIA推出了CUDA®,这是一种通用并行计算平台和编程模型,它利用NVIDIA GPU中的并行计算引擎,以比CPU更高效的方式解决许多复杂的计算问题。 30 | 31 | CUDA带有一个软件环境,允许开发人员使用C作为高级编程语言。 如图4所示,支持其他语言,应用程序编程接口或基于指令的方法,例如FORTRAN,DirectCompute,OpenACC。 32 | 33 | Figure 4. GPU Computing Applications. CUDA is designed to support various languages and application programming interfaces. 34 | 35 | ![](../../../.gitbook/assets/image%20%28171%29.png) 36 | 37 | ### A Scalable Programming Model 38 | 39 | 多核CPU和多核GPU的出现意味着主流处理器芯片现在是并行系统。 面临的挑战是开发透明地扩展其并行性的应用软件,以利用越来越多的处理器内核,就像3D图形应用程序透明地将其并行性扩展到具有大量不同内核的多核GPU一样。 40 | 41 | CUDA并行编程模型旨在克服这一挑战,同时为熟悉标准编程语言(如C)的程序员保持较低的学习曲线。 42 | 43 | 其核心是三个关键的抽象 - 线程组,共享存储器和屏障同步的层次结构 - 它们只是作为最小的语言扩展集向程序员公开。 44 | 45 | 这些抽象提供了细粒度数据并行性和线程并行性,嵌套在粗粒度数据并行和任务并行中。 它们指导程序员将问题划分为粗略的子问题,这些子问题可以通过线程块并行地独立解决,并且每个子问题都可以更精细,可以由块内的所有线程并行地协同解决。 46 | 47 | 这种分解通过允许线程在解决每个子问题时进行协作来保持语言表达能力,同时实现自动可伸缩性。 实际上,每个线程块可以在GPU内的任何可用多处理器上以任何顺序,同时或顺序调度,以便编译的CUDA程序可以在任何数量的多处理器上执行,如图5所示,并且仅运行时 系统需要知道物理多处理器计数。 48 | 49 | 这种可扩展的编程模型允许GPU架构通过简单地扩展多处理器和内存分区的数量来跨越广泛的市场范围:从高性能发烧友GeForce GPU和专业Quadro和Tesla计算产品到各种廉价的主流GeForce GPU( 请参阅支持CUDA的GPU以获取所有支持CUDA的GPU的列表。 50 | 51 | Figure 5. Automatic Scalability 52 | 53 | ![](../../../.gitbook/assets/image%20%28233%29.png) 54 | 55 | ### Document Structure 56 | 57 | 本文档分为以下章节: 58 | 59 | * 章节 [Introduction](introduction.md) 是对CUDA的一般介绍。 60 | * 章节 [Programming Model](programming-model.md) 概述了CUDA编程模型。 61 | * 章节 [Programming Interface](programming-interface.md) 描述了编程接口。 62 | * 章节 [Hardware Implementation](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#hardware-implementation) 描述了硬件实现。 63 | * 章节 [Performance Guidelines](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#performance-guidelines) 为如何实现最佳性能提供了一些指导。 64 | * 附录 [CUDA-Enabled GPUs](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cuda-enabled-gpus) 列出了所有支持CUDA的设备。 65 | * 附录 [C Language Extensions](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#c-language-extensions) 是对C语言的所有扩展的详细描述。 66 | * 附录 [Cooperative Groups](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cooperative-groups) 描述了各种CUDA线程组的同步原语。 67 | * 附录 [CUDA Dynamic Parallelism](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cuda-dynamic-parallelism) 描述了如何从另一个内核启动和同步一个内核。 68 | * 附录 [Mathematical Functions](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#mathematical-functions-appendix)列出了CUDA中支持的数学函数。 69 | * 附录 [C/C++ Language Support](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#c-cplusplus-language-support)列出了设备代码中支持的C ++功能。 70 | * 附录 [Texture Fetching](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#texture-fetching) 提供了有关纹理提取的更多细节 71 | * 附录 [Compute Capabilities](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compute-capabilities) 给出了各种设备的技术规范,以及更多的架构细节。 72 | * 附录 [Driver API](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#driver-api) 介绍了低级驱动程序API。 73 | * 附录 [CUDA Environment Variables](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars) 列出了所有CUDA环境变量。 74 | * 附录 [Unified Memory Programming](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#um-unified-memory-programming-hd) 介绍了统一内存编程模型。 75 | 76 | -------------------------------------------------------------------------------- /ying-jian/cuda/cuda-c-programming-guide/programming-model.md: -------------------------------------------------------------------------------- 1 | # Programming Model 2 | 3 | 本章通过概述CUDA编程模型在C语言中的公开方式,介绍了CUDA编程模型背后的主要概念。 4 | 5 | 本章和下一章中使用的向量加法示例的完整代码可以在`vectorAdd` CUDA示例中找到。 6 | 7 | ### Kernels 8 | 9 | CUDA C通过允许程序员定义称为内核的C函数来扩展C,这些函数在被调用时由N个不同的CUDA线程并行执行N次,而不是像常规C函数那样只执行一次。 10 | 11 | 使用`__global__`声明说明符定义内核,并使用新的`<<< ... >>>`执行配置语法指定为给定内核调用执行该内核的CUDA线程数(请参阅C语言扩展)。 执行内核的每个线程都有一个唯一的线程ID,可以通过内置的`threadIdx`变量在内核中访问。 12 | 13 | ```c 14 | // Kernel definition 15 | __global__ void VecAdd(float* A, float* B, float* C) 16 | { 17 | int i = threadIdx.x; 18 | C[i] = A[i] + B[i]; 19 | } 20 | 21 | int main() 22 | { 23 | ... 24 | // Kernel invocation with N threads 25 | VecAdd<<<1, N>>>(A, B, C); 26 | ... 27 | } 28 | ``` 29 | 30 | 这里,执行VecAdd\(\)的N个线程中的每一个执行一对成对添加。 31 | 32 | ### Thread Hierarchy 33 | 34 | 为方便起见,threadIdx是一个3分量向量,因此可以使用一维,二维或三维线程索引来识别线程,从而形成一维,二维或三维块。 线程,称为线程块。 这提供了一种自然的方式来调用域中元素(如向量,矩阵或体积)的计算。 35 | 36 | 线程的索引及其线程ID以直接的方式相互关联:对于一维块,它们是相同的;对于二维块大小 $$\left(D_{x}, D_{y}\right)$$ ,索引线程的线程ID是 $$\left(x+y D_{x}\right)$$ ,对于三维块大小 $$\left(D_{X}, D_{V}, D_{Z}\right)$$ ,索引线程的线程ID是 $$\left(x+y D_{x}+z D_{x} D_{y}\right)$$ 。 37 | 38 | 作为示例,以下代码添加两个大小为N×N的矩阵A和B,并将结果存储到矩阵C中 39 | 40 | ```c 41 | // Kernel definition 42 | __global__ void MatAdd(float A[N][N], float B[N][N], 43 | float C[N][N]) 44 | { 45 | int i = threadIdx.x; 46 | int j = threadIdx.y; 47 | C[i][j] = A[i][j] + B[i][j]; 48 | } 49 | 50 | int main() 51 | { 52 | ... 53 | // Kernel invocation with one block of N * N * 1 threads 54 | int numBlocks = 1; 55 | dim3 threadsPerBlock(N, N); 56 | MatAdd<<>>(A, B, C); 57 | ... 58 | } 59 | ``` 60 | 61 | 每个块的线程数有限制,因为块的所有线程都应该驻留在同一个处理器核心上,并且必须共享该核心的有限内存资源。 在当前的GPU上,线程块最多可包含1024个线程。 62 | 63 | 但是,内核可以由多个同形状的线程块执行,因此线程总数等于每个块的线程数乘以块数。 64 | 65 | 块被组织成一维,二维或三维线程块网格,如图6所示。网格中线程块的数量通常由正在处理的数据的大小或者数量决定。 系统中的处理器,它可以大大超过。 66 | 67 | Figure 6. Grid of Thread Blocks 68 | 69 | ![](../../../.gitbook/assets/image%20%2834%29.png) 70 | 71 | 每个块的线程数和<<< ... >>>语法中指定的每个网格的块数可以是int或dim3类型。 可以如上例中那样指定二维块或网格。 72 | 73 | 网格中的每个块可以通过内核中通过内置的blockIdx变量访问的一维,二维或三维索引来识别。 线程块的维度可以通过内置的blockDim变量在内核中访问。 74 | 75 | 扩展先前的MatAdd\(\)示例以处理多个块,代码如下所示。 76 | 77 | ```c 78 | // Kernel definition 79 | __global__ void MatAdd(float A[N][N], float B[N][N], 80 | float C[N][N]) 81 | { 82 | int i = blockIdx.x * blockDim.x + threadIdx.x; 83 | int j = blockIdx.y * blockDim.y + threadIdx.y; 84 | if (i < N && j < N) 85 | C[i][j] = A[i][j] + B[i][j]; 86 | } 87 | 88 | int main() 89 | { 90 | ... 91 | // Kernel invocation 92 | dim3 threadsPerBlock(16, 16); 93 | dim3 numBlocks(N / threadsPerBlock.x, N / threadsPerBlock.y); 94 | MatAdd<<>>(A, B, C); 95 | ... 96 | } 97 | ``` 98 | 99 | 线程块大小为16x16(256个线程),虽然在这种情况下是任意的,但却是常见的选择。 使用足够的块创建网格,以便像以前一样为每个矩阵元素创建一个线程。 为简单起见,此示例假定每个维度中每个网格的线程数可以被该维度中每个块的线程数整除,但不一定是这种情况。 100 | 101 | 线程块需要独立执行:必须能够以任何顺序,并行或串行执行它们。 这种独立性要求允许线程块以任意顺序在任意数量的内核上进行调度,如图5所示,使程序员能够编写随内核数量扩展的代码。 102 | 103 | 块内的线程可以通过一些共享内存共享数据并通过同步它们的执行来协调内存访问来协作。 更确切地说,可以通过调用 $$__syncthreads()$$ 内部函数来指定内核中的同步点; ****$$__syncthreads()$$充当一个屏障,在该屏障中,块中的所有线程必须等待才能允许任何线程继续。 共享内存提供了使用共享内存的示例。 除$$__syncthreads()$$之外,协作组API还提供了一组丰富的线程同步原语。 104 | 105 | 为了实现高效的协作,共享内存应该是每个处理器内核附近的低延迟内存\(非常像L1缓存\),并且\_\_syncthreads\(\)应该是轻量级的 106 | 107 | ### Memory Hierarchy 108 | 109 | CUDA线程可以在执行期间从多个内存空间访问数据,如图7所示。每个线程都有私有本地内存。 每个线程块都具有对块的所有线程可见的共享内存,并且具有与块相同的生存期。 所有线程都可以访问相同的全局内存。 110 | 111 | 所有线程都可以访问两个额外的只读内存空间:常量和纹理内存空间。 全局,常量和纹理内存空间针对不同的内存使用进行了优化(请参阅设备内存访问)。 纹理存储器还为某些特定数据格式提供不同的寻址模式以及数据滤波(请参阅[纹理和表面存储器](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#texture-and-surface-memory))。 112 | 113 | 全局,常量和纹理内存空间在同一应用程序的内核启动之间是持久的。 114 | 115 | Figure 7. Memory Hierarchy 116 | 117 | ![](../../../.gitbook/assets/image%20%28237%29.png) 118 | 119 | ### Heterogeneous Programming 120 | 121 | 如图8所示,CUDA编程模型假设CUDA线程在物理上独立的设备上执行,该设备作为运行C程序的主机的协处理器运行。 例如,当内核在GPU上执行而其余的C程序在CPU上执行时就是这种情况。 122 | 123 | CUDA编程模型还假设主机和设备都在DRAM中保持它们自己独立的存储空间,分别称为主机存储器和设备存储器。 因此,程序通过调用CUDA运行时([在编程接口中描述](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#programming-interface))来管理内核可见的全局,常量和纹理内存空间。 这包括设备内存分配和释放以及主机和设备内存之间的数据传输。 124 | 125 | Unified Memory提供托管内存以桥接主机和设备内存空间。 可以从系统中的所有CPU和GPU访问托管内存,作为具有公共地址空间的单个连贯内存映像。 此功能可以实现设备内存的超额预订,并且无需在主机和设备上显式镜像数据,从而大大简化了移植应用程序的任务。 有关统一内存的介绍,请参阅[统一内存编程](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#um-unified-memory-programming-hd)。 126 | 127 | Figure 8. Heterogeneous Programming 128 | 129 | ![](../../../.gitbook/assets/image%20%2821%29.png) 130 | 131 | 注意:串行代码在主机上执行,而并行代码在设备上执行。 132 | 133 | ### Compute Capability 134 | 135 | 设备的计算能力由版本号表示,有时也称为“SM版本”。 此版本号标识GPU硬件支持的功能,并由运行时的应用程序用于确定当前GPU上可用的硬件功能和/或指令。 136 | 137 | 计算能力包括主修订号X和次修订号Y,并由X.Y表示。 138 | 139 | 具有相同主要修订号的设备具有相同的核心体系结构。 基于Volta架构的设备的主要版本号为7,基于Pascal架构的设备为6,基于Maxwell架构的设备为5,基于Kepler架构的设备为3,基于Fermi架构的设备为2, 和1为基于特斯拉架构的设备。 140 | 141 | 次要修订号对应于核心架构的增量改进,可能包括新功能。 142 | 143 | 图灵是计算能力7.5设备的架构,是基于Volta架构的增量更新。 144 | 145 | [启用CUDA的GPU](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#cuda-enabled-gpus)列出了所有支持CUDA的设备及其计算功能。 [Compute Capabilities](https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#compute-capabilities)提供每种计算能力的技术规范。 146 | 147 | 注意:不应将特定GPU的计算能力版本与CUDA版本(例如,CUDA 7.5,CUDA 8,CUDA 9)混淆,后者是CUDA软件平台的版本。 应用程序开发人员使用CUDA平台创建在多代GPU架构上运行的应用程序,包括尚未发明的未来GPU架构。 虽然新版本的CUDA平台通常通过支持该架构的计算能力版本来添加对新GPU架构的本机支持,但新版本的CUDA平台通常还包括独立于硬件生成的软件功能。 148 | 149 | 从CUDA 7.0和CUDA 9.0开始,不再支持Tesla和Fermi架构。 150 | 151 | -------------------------------------------------------------------------------- /ying-jian/fen-bu-shi-xun-lian/README.md: -------------------------------------------------------------------------------- 1 | # 分布式训练 2 | 3 | -------------------------------------------------------------------------------- /ying-jian/fen-bu-shi-xun-lian/ring-all-reduce.md: -------------------------------------------------------------------------------- 1 | # Ring All Reduce 2 | 3 | > [Bringing HPC Techniques to Deep Learning](http://andrew.gibiansky.com/) 4 | 5 | ### The Communication Problem 6 | 7 | 当将神经网络的训练并行化到许多GPU上时,你必须选择如何将不同的操作分配到你可用的不同GPU上。在这里,我们关注一种称为数据并行随机梯度下降\( SGD \)的技术。与标准SGD一样,梯度下降是通过数据子集\(小批次\)完成的,需要多次迭代才能在整个数据集上进行。然而,在数据并行训练中,每个GPU都有整个神经网络模型的完整副本,对于每次迭代,只分配了小批次中样本的子集。对于每次迭代,每个GPU在其数据上运行网络的前向传播,随后进行误差反向传播,以计算损耗相对于网络参数的梯度。最后,GPU相互通信以平均由不同GPU计算的梯度,将平均梯度应用于权重以获得新权重。GPU都在锁定步骤的迭代中前进,一旦GPU完成了迭代,它必须等待所有其他GPU完成它们的迭代,这样权重才能被正确更新。这相当于在单个GPU上执行SGD,但是我们通过在多个GPU之间分发数据并并行执行计算来获得加速。 8 | 9 | 当你只有两个GPU和以兆字节数据衡量的参数时,这些GPU的通信方式可能并不重要。然而,当你的模型有数十亿个参数时,梯度可能需要几十亿字节的空间\(因为每个参数都有一个梯度值\),并且你正在协调几十个GPU,通信机制变得至关重要。 10 | 11 | 例如,考虑最直接的通信机制。每一个GPU都计算其子集的小批次上的梯度。然后,每个GPU将其梯度发送到单个GPU,该GPU取所有梯度的平均值,并将平均值发送回所有其他GPU。 12 | 13 | 在直接从单个GPU发送和接收数据的机制中,单个GPU必须从所有GPU接收所有参数,并将所有参数发送到所有GPU。系统中的gpu越多,通信成本就越大。 14 | 15 | 让我们评估一下这种通信策略如何在真实模型上运行,例如以百度深度语音2 为模型的语音识别网络,具有三亿个可训练参数。 每个参数四个字节的三亿个参数大约是1.2千兆字节的数据。 假设您系统上的网络硬件可以支持每秒1千兆字节的带宽; 在这种情况下,如上所述将系统并行化到两个GPU上将使每次迭代减慢1.2秒。 将您的训练并行化到10个GPU将使每次迭代减慢10.8秒; 随着GPU数量的增长,每次迭代所需的时间呈线性增长。 即使每次迭代花费几秒钟,通信成本的这种线性增长也会使得进一步的并行化变得不切实际并且会降低训练效率。 16 | 17 | ![](https://upload-images.jianshu.io/upload_images/1507799-3bd2159e83e41f78.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/600/format/webp) 18 | 19 | 需要发送的数据越多,发送时间就越长;每个通信通道都有一个最大的吞吐量\(带宽\)。例如,一个好的internet连接可以提供每秒15兆字节的带宽,而千兆以太网连接可以提供每秒125兆字节的带宽。HPC集群上的专用网络硬件\(如Infiniband\)可以在节点之间提供每秒数gb的带宽。 20 | 21 | 另一种选择是放弃训练算法的同步性,并通过梯度下降的迭代消除所有GPU在锁定步骤中前进的限制。然而,虽然这可以使模型更容易并行化,但是消除这种约束的算法\(异步SGD的变体\)可能很难调试,对于某些模型来说,可能会收敛到子结果,所以我们不考虑这些问题。 22 | 23 | 相反,我们可以通过使用高性能计算领域的分布式缩减算法并利用带宽优化环来解决通信问题。 24 | 25 | ### The Ring Allreduce 26 | 27 | 上述简单通信策略的主要问题是,通信成本随系统中gpu的数量线性增长。相比之下,环allreduce算法的通信成本是恒定的,与系统中gpu的数量无关,完全由系统中gpu之间最慢的连接决定;事实上,如果您只考虑带宽作为通信成本的一个因素\(并忽略延迟\),那么环allreduce是一种最优通信算法(当您的模型很大,并且您需要发送大量数据的次数很少时,这是一个很好的通信成本估算。)。 28 | 29 | 环中的gpu都被安排在一个逻辑环中。每个GPU应该有一个左邻和一个右邻;它只会向它的右邻居发送数据,并从它的左邻居接收数据。 30 | 31 | ![](https://upload-images.jianshu.io/upload_images/1507799-a066c062367eaf6b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/745/format/webp) 32 | 33 | 该算法分两个步骤进行:首先是scatter-reduce,然后是allgather。在scatter-reduce步骤中,GPU将交换数据,使每个GPU可得到最终结果的一个块。在allgather步骤中,gpu将交换这些块,以便所有gpu得到完整的最终结果。 34 | 35 | #### The Scatter-Reduce 36 | 37 | 为简单起见,让我们假设目标是对一个浮点数的大数组求和; 系统中有N个GPU,每个GPU都有一个相同大小的数组,并且在allreduce的末尾,每个GPU都应该有一个相同大小的数组,其中包含原始数组中数字的总和。 38 | 39 | 首先,gpu将数组划分为N个更小的块\(其中N是环中的gpu数\)。 40 | 41 | ![](https://upload-images.jianshu.io/upload_images/1507799-7f3286dce4148fd7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/832/format/webp) 42 | 43 | 接下来,GPU将进行N-1次 Scatter-Reduce 迭代;在每次迭代中,GPU将向其右邻居发送一个块,并从其左邻居接收一个块并累积到该块中。每个GPU发送和接收的块在每次迭代中都是不同的;第n个GPU从发送块N和接收块N - 1开始,然后从那里向后进行,每次迭代都发送它在前一次迭代中接收到的块。 44 | 45 | 例如,在第一次迭代中,上图中的五个GPU将发送和接收以下区块:Data transfers in the first iteration of scatter-reduce 46 | 47 | ![](https://upload-images.jianshu.io/upload_images/1507799-fb79b98909b6442b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/281/format/webp) 48 | 49 | ![](https://upload-images.jianshu.io/upload_images/1507799-7e94295ad513274f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/856/format/webp) 50 | 51 | 在第一次发送和接收完成之后,每个GPU将拥有一个块,该块由两个不同GPU上相同块的和组成。例如,第二个GPU上的第一个块将是该块中来自第二个GPU和第一个GPU的值的和。Itermediate sums after the first iteration of scatter-reduce is complete 52 | 53 | ![](https://upload-images.jianshu.io/upload_images/1507799-3b9e33f1a1469377.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/850/format/webp) 54 | 55 | 在下一次迭代中,该过程继续进行,到最后,每个GPU将有一个块,该块包含所有GPU中该块中所有值的总和。下图展示了所有数据传输和中间结果,从第一次迭代开始,一直持续到Scatter-Reduce完成。 56 | 57 | ![](https://upload-images.jianshu.io/upload_images/1507799-05b2742a40b31fb5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/833/format/webp) 58 | 59 | ![](https://upload-images.jianshu.io/upload_images/1507799-1afcb60b6e91c0a8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/855/format/webp) 60 | 61 | ![](https://upload-images.jianshu.io/upload_images/1507799-731bd120ba24542b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/850/format/webp) 62 | 63 | ### The Allgather 64 | 65 | 在scatter-reduce步骤完成之后,每个GPU都有一个值数组,其中一些值\(每个GPU一个块\)是最终的值,其中包括来自所有GPU的贡献。为了完成allreduce, gpu必须交换这些块,以便所有gpu都具有所有必需的值。 66 | 67 | 环的收集过程与scatter-reduce是相同的\(发送和接收的N-1次迭代\),只是gpu接收的值没有累加,而是简单地覆盖块。第n个GPU首先发送第n+1个块并接收第n个块,然后在以后的迭代中总是发送它刚刚接收到的块。 68 | 69 | 例如,在我们的5 - gpu设置的第一次迭代中,gpu将发送和接收以下块 70 | 71 | ![](https://upload-images.jianshu.io/upload_images/1507799-d058e183435363f5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/855/format/webp) 72 | 73 | ![](https://upload-images.jianshu.io/upload_images/1507799-76839e1b8f977cd4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/246/format/webp) 74 | 75 | 第一次迭代完成后,每个GPU将拥有最终数组的两个块。 76 | 77 | 在下一个迭代中,该过程将继续,到最后,每个GPU将拥有整个数组的完整累积值。下面的图像演示了所有数据传输和中间结果,从第一次迭代开始,一直到allgather完成。 78 | 79 | ![](https://upload-images.jianshu.io/upload_images/1507799-0cc10009de17d5f5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/834/format/webp) 80 | 81 | ![](https://upload-images.jianshu.io/upload_images/1507799-e8bd06a1c78a2232.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/853/format/webp) 82 | 83 | ![](https://upload-images.jianshu.io/upload_images/1507799-5ea73bf234c75e16.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/854/format/webp) 84 | 85 | ![](https://upload-images.jianshu.io/upload_images/1507799-bc515e1101e74cbe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/858/format/webp) 86 | 87 | ### Allreduce Communication Cost 88 | 89 | 回想一下,对于介绍中描述的简单通信算法,通信成本随着GPU的数量线性增长。 allreduce运行良好的主要原因是不再是这种情况。 90 | 91 | 在我们描述的系统中,N个GPU中的每一个都将发送和接收N-1次scatter-reduce,N-1次allgather。每次,GPU都会发送K / N值,其中K是数组中不同GPU上相加的值总数。因此,传输到每个GPU和从每个GPU传输的数据总量为![](https://upload-images.jianshu.io/upload_images/1507799-e2eddac30375920d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/826/format/webp) 92 | 93 | 重要的是,这与GPU的数量无关。 94 | 95 | 由于所有传输都是在离散迭代中同步进行的,因此所有传输的速度受到环中相邻GPU之间最慢\(最低带宽\)连接的限制。给定每个GPU的邻居的正确选择,该算法是带宽最优的,并且是执行全面操作的最快算法\(假设延迟成本与带宽相比可以忽略不计\)。一般来说,如果一个节点上的所有GPU在环中彼此相邻,则该算法的功能最佳;这最小化了网络争用的量,否则这可能会显著降低GPU-GPU连接的有效带宽。 96 | 97 | ### Applying the Allreduce to Deep Learning 98 | 99 | Ring allreduce是高性能计算领域中著名的算法,但在深度学习中很少使用。在我们的实验室中,我们已经成功地将这个工具作为所有数据并行训练的基础,使我们能够有效地将训练扩展到几十个gpu。 100 | 101 | 为了最小化通信开销,我们可以利用神经网络的结构。在每次迭代中,每个GPU运行正向传播来计算误差,然后运行反向传播来计算神经网络的每个参数的梯度。反向传播计算梯度,从输出层开始,向输入层移动,这意味着输出层参数的梯度在早期层的梯度之前很明显是可用的。因为全部运算可以一次对网络的一部分参数进行运算,所以我们可以在其他梯度仍在计算的时候开始对输出层参数进行全部运算。这样做将通信与反向传播步骤中的其余计算重叠,从而减少了每个GPU等待通信完成的总时间。 102 | 103 | 例如,考虑一个类似于2的语言模型,但有大约3亿个可学习的参数(因此总梯度大小为1.2千兆字节)。 使用allreduce,每个GPU必须发送和接收大约2.4千兆字节的数据。 使用支持CUDA的MPI实现(例如OpenMPI),我们可以使用GPUDirect RDMA在GPU之间传输数据,带宽大约为每秒10千兆字节; 但是,我们集群中节点之间的连接速度较慢,Infiniband提供的带宽大约为每秒6千兆字节。 由于限制因素是Infiniband连接,因此单次迭代需要大约 104 | 105 | ![](https://upload-images.jianshu.io/upload_images/1507799-37a3710709f41720.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/813/format/webp) 106 | 107 | 由于更深层次的网络首先有可用的梯度,我们可以在完成整个反向传播传递之前开始进行数据传输,因此真正的开销可能小于400毫秒;根据所优化的神经网络的性质,通信和计算之间的重叠可能有所不同。 108 | 109 | 我们实现了上述语言模型,并测试了每次迭代所花费的时间,因为我们从单个GPU(没有通信开销)扩展到40个GPU。 这40个GPU排列成5个节点,每个节点有8个GPU,由Infiniband连接。 我们运行语言模型300次迭代,批量大小为32,并计算每秒处理的样本数。 110 | 111 | ![](https://upload-images.jianshu.io/upload_images/1507799-366635a5a0194059.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/800/format/webp) 112 | 113 | 正如您所看到的,整个系统的吞吐量随着GPU的数量线性扩展;超过一定的意见后,添加更多的GPU不会导致每次迭代的显著减速。在40个GPU上运行模型每次迭代大约需要650 - 700毫秒,而在单个GPU上大约需要370毫秒。根据我们的估计,通信将花费400毫秒,通过将反向传播与数据传输重叠,我们在每次迭代中节省了额外的70 - 120毫秒。 114 | 115 | -------------------------------------------------------------------------------- /you-hua/chao-can-shu/README.md: -------------------------------------------------------------------------------- 1 | # 超参数 2 | 3 | > [ON LARGE-BATCH TRAINING FOR DEEP LEARNING: GENERALIZATION GAP AND SHARP MINIMA](https://arxiv.org/pdf/1609.04836.pdf) 4 | 5 | -------------------------------------------------------------------------------- /you-hua/chao-can-shu/on-large-batch-training-for-deep-learning-generalization-gap-and-sharp-minima.md: -------------------------------------------------------------------------------- 1 | # Sharp Minima 2 | 3 | > [On Large-Batch Training for Deep Learning: Generalization Gap and Sharp Minima](https://arxiv.org/abs/1609.04836) 4 | 5 | -------------------------------------------------------------------------------- /you-hua/chao-can-shu/xavier.md: -------------------------------------------------------------------------------- 1 | # Xavier 2 | 3 | > [Understanding the difficulty of training deep feedforward neural networks](http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf) 4 | 5 | -------------------------------------------------------------------------------- /you-hua/xue-xi-fang-fa/README.md: -------------------------------------------------------------------------------- 1 | # 学习方法 2 | 3 | -------------------------------------------------------------------------------- /you-hua/xue-xi-fang-fa/efficient-backprop.md: -------------------------------------------------------------------------------- 1 | # Efficient BackProp 2 | 3 | > [Efficient BackProp](http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf) 4 | 5 | -------------------------------------------------------------------------------- /you-hua/xue-xi-fang-fa/l-bfgs.md: -------------------------------------------------------------------------------- 1 | # L-BFGS 2 | 3 | ### 牛顿法 4 | 5 | 设有损失函数 $$f(x)$$ 6 | 7 | $$ 8 | f(x) \approx \phi(x)=f\left(x^{(k)}\right)+\nabla f\left(x^{(k)}\right)^{T}\left(x-x^{(k)}\right)+\frac{1}{2}\left(x-x^{(k)}\right)^{T} \nabla^{2} f\left(x^{(k)}\right)\left(x-x^{(k)}\right) 9 | $$ 10 | 11 | 其中 $$\nabla^{2} f\left(x^{(k)}\right)$$ 是二阶的海森矩阵,为了使函数最小化,对后面两项求导: 12 | 13 | $$ 14 | \nabla f\left(x^{(k)}\right)+\nabla^{2} f\left(x^{(k)}\right)\left(x-x^{(k)}\right)=0 15 | $$ 16 | 17 | 得到牛顿迭代法的公式: 18 | 19 | $$ 20 | x^{(k+1)}=x^{(k)}-\nabla^{2} f\left(x^{(k)}\right)^{-1} \nabla f\left(x^{(k)}\right) 21 | $$ 22 | 23 | 不过牛顿法需要海森矩阵正定才能保证收敛到最优解。 24 | 25 | ### 拟牛顿法 26 | 27 | 前面介绍了牛顿法,它的突出优点是收敛很快,但是运用牛顿法需要计算二阶偏导数,而且目标函数的Hessian矩阵可能非正定。为了克服牛顿法的缺点,人们提出了拟牛顿法,它的基本思想是用不包含二阶导数的矩阵近似牛顿法中的Hessian矩阵的逆矩阵。由于构造近似矩阵的方法不同,因而出现不同的拟牛顿法。 28 | 29 | ### L-BFGS 30 | 31 | Limited-memory BFGS是一种节省内存的拟牛顿法。 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /you-hua/xue-xi-fang-fa/shi-yong-numpy-shi-xian-juan-ji-shen-jing-wang-luo-tui-dao-qian-he-fan-xiang-chuan-bo.md: -------------------------------------------------------------------------------- 1 | # 使用Numpy实现卷积神经网络(推导前馈和反向传播) 2 | 3 | > [Only Numpy: Implementing Convolutional Neural Network using Numpy \( Deriving Forward Feed and Back Propagation \) with interactive code](https://becominghuman.ai/only-numpy-implementing-convolutional-neural-network-using-numpy-deriving-forward-feed-and-back-458a5250d6e4) 4 | 5 | 卷积神经网络(CNN)很多人都听说过它的名字,我想知道它是前馈过程以及反向传播过程。 由于我只专注于神经网络部分,我不会解释卷积操作是什么,如果你不知道这个操作请从songho阅读这个“[2D卷积的例子](http://www.songho.ca/dsp/convolution/convolution2d_example.html)”.。 6 | 7 | ### 初始化权重,声明超参数和训练数据 8 | 9 | ![](../../.gitbook/assets/image%20%2852%29.png) 10 | 11 | 让我们保持简单,我们有四张(3 \* 3)图像。 (LOL太小了,不能称它们为图像,但它会完成这项工作)。 正如您在真实标签数据(Y)中所看到的,如果图像有更多1,则结果输出会增加。 由于我们使用logistic sigmoid函数作为最终输出,因此max设置为1.1。 12 | 13 | ### 网络架构 14 | 15 | ![](../../.gitbook/assets/image%20%28185%29.png) 16 | 17 | 如上所述,我们有一个非常简单的网络结构 18 | 19 | * X → 3\*3 图像 20 | * K →卷积操作(右边是矩阵形式,左边是矢量化形式) 21 | * 绿色开始→结果图像\(右矩阵形式,左是矢量化形式\) 22 | 23 | 如果上面的图像让您感到困惑,请参阅下图。 24 | 25 | ![](../../.gitbook/assets/image%20%2882%29.png) 26 | 27 | 基本上,3×3像素卷积操作可以被认为是将具有给定权重的位于不同图像中的某些像素相乘。 28 | 29 | ### 前馈 30 | 31 | ![](../../.gitbook/assets/image%20%28207%29.png) 32 | 33 | 当我们在线性行中写卷积运算时,我们可以像上面一样表达每个节点。但是请注意橙色方框,它将L1表示为\[ 1 \* 4 \]向量。另外,请查看下面红色方框中的每个变量代表什么。 34 | 35 | ![](../../.gitbook/assets/image%20%28223%29.png) 36 | 37 | 如上所示,每个节点表示卷积运算的结果图像。 38 | 39 | ### **W2 的反向传播** 40 | 41 | ![](../../.gitbook/assets/image%20%28200%29.png) 42 | 43 | \*\*\*\* 44 | 45 | 标准SGD反向传播,上述操作没有什么特别之处**。** 46 | 47 | ### **W\(1,1\) 的反向传播** 48 | 49 | ![](../../.gitbook/assets/image%20%28226%29.png) 50 | 51 | 有很多事情要发生,我将从最简单的一个开始 52 | 53 | * 橙色盒子/橙色星星→我没有足够的空间来写所有的tanh \( \)的导数,所以每个“dL”符号代表对tanh \( \)的导数。 54 | * 蓝色方框→同样没有足够的空间写下等式,无论向量之间的点积多么简单。 55 | * 绿色方框星python代码实现中关于W\(1,1 \)的导数的第一部分,如下所示。 56 | 57 | ![](../../.gitbook/assets/image%20%28181%29.png) 58 | 59 | 如上所示,我们转置W2,因此尺寸从(1,4)变为(4,1)。 我们将使用符号'g'来表示操作的结果。 60 | 61 | * 绿盒星2→变量g和导数D1数组之间的点积,因此维数保持为\( 1,4 \)。 62 | 63 | ![](../../.gitbook/assets/image%20%28216%29.png) 64 | 65 | ![](../../.gitbook/assets/image%20%2825%29.png) 66 | 67 | ### 所有权重反向传播 68 | 69 | ![](../../.gitbook/assets/image%20%2830%29.png) 70 | 71 | 我跳过了导数符号,但写下了导数所需的实际变量。另外,请注意变量“g”代表青色\(浅绿色\)框中的变量。 72 | 73 | 仔细看看导数的所有方程,注意到什么了吗?\(特别是仔细观察变量X \)。这是卷积运算。我是什么意思?见下文。 74 | 75 | ![](../../.gitbook/assets/image%20%285%29.png) 76 | 77 | 整个导数可以如上所述写入,即输入图像和第1层中所有节点的导数之间的卷积运算。在python代码中,我们可以像下面这样实现它 78 | 79 | ![](../../.gitbook/assets/image%20%2855%29.png) 80 | 81 | 这里有两点需要注意。 82 | 83 | * 1→grad _1_ part _1_ 整形:将向量整形为\( 2 \* 2 \)图像 84 | * 2→突出显示的部分正在旋转'grad\_1\_temp\_1'变量......为什么......? 85 | 86 | 让我们仔细看看核,如下所示 87 | 88 | ![](../../.gitbook/assets/image%20%28221%29.png) 89 | 90 | 如上所示,矩阵的形式如下: 91 | 92 | — — — — — — — — — — — —  93 | \| gdL1\(_2,2_\) \| gdL1\(_2,1_\) \| 94 |  — — — — — — — — — —— —  95 | \| gdL1\(_1,2_\) \| gdL1\(_1,1_\) \| 96 |  — — — — — — — — — —— —  97 | 98 | 然而,我们的向量有这个顺序的变量 99 | 100 | \[ gdL1\(1,1\), gdL1\(1,2\), gdL1\(2,1\), gdL1\(2,2\) \] 101 | 102 | 所以当我们把上面的向量转换成矩阵时,它会如下所示。 103 | 104 | — — — — — — — — — — — —  105 | \| gdL1\(**1,1**\) \| gdL1\(**1,2**\) \| 106 |  — — — — — — — — — —— —  107 | \| gdL1\(**2,1**\) \| gdL1\(**2,2**\) \| 108 |  — — — — — — — — — —— —  109 | 110 | 这就是我们在卷积运算之前旋转矩阵的原因 111 | 112 | ### 其它 113 | 114 | 所以这个理论是正确的,但是有一个重要的方面我还没有提到。 115 | 116 | ![](../../.gitbook/assets/image%20%2884%29.png) 117 | 118 | 如红框中所示,计算的梯度大约为 119 | 120 | ![](../../.gitbook/assets/image%20%2887%29.png) 121 | 122 | 所以当更新权重时,我们需要再次转置计算的梯度,我在代码中没有这样做 123 | 124 | ![](../../.gitbook/assets/image%20%2818%29.png) 125 | 126 | ![](../../.gitbook/assets/image%20%28199%29.png) 127 | 128 | ### 实现 129 | 130 | ```python 131 | import numpy as np 132 | from scipy import signal 133 | 134 | def tanh(x): 135 | return np.tanh(x) 136 | def d_tanh(x): 137 | return 1 - np.tanh(x) ** 2 138 | 139 | def log(x): 140 | return 1/(1 + np.exp(-1*x)) 141 | def d_log(x): 142 | return log(x) * ( 1 - log(x) ) 143 | 144 | np.random.seed(598765) 145 | 146 | x1 = np.array([[0,0,0],[0,0,0],[0,0,0]]) 147 | x2 = np.array([[1,1,1],[0,0,0],[0,0,0]]) 148 | x3 = np.array([[0,0,0],[1,1,1],[1,1,1]]) 149 | x4 = np.array([ [1,1,1],[1,1,1],[1,1,1]]) 150 | X = [x1,x2,x3,x4] 151 | Y = np.array([ 152 | [0.53], 153 | [0.77], 154 | [0.88], 155 | [1.1] 156 | ]) 157 | 158 | # 0. Declare Weights 159 | w1 = np.random.randn(2,2) * 4 160 | w2 = np.random.randn(4,1) * 4 161 | 162 | # 1. Declare hyper Parameters 163 | num_epoch = 1000 164 | learning_rate = 0.7 165 | 166 | cost_before_train = 0 167 | cost_after_train = 0 168 | final_out,start_out =np.array([[]]),np.array([[]]) 169 | 170 | # ---- Cost before training ------ 171 | for i in range(len(X)): 172 | 173 | layer_1 = signal.convolve2d(X[i],w1,'valid') 174 | layer_1_act = tanh(layer_1) 175 | 176 | layer_1_act_vec = np.expand_dims(np.reshape(layer_1_act,-1),axis=0) 177 | layer_2 = layer_1_act_vec.dot(w2) 178 | layer_2_act = log(layer_2) 179 | cost = np.square(layer_2_act- Y[i]).sum() * 0.5 180 | cost_before_train = cost_before_train + cost 181 | start_out = np.append(start_out,layer_2_act) 182 | 183 | # ----- TRAINING ------- 184 | for iter in range(num_epoch): 185 | 186 | for i in range(len(X)): 187 | 188 | layer_1 = signal.convolve2d(X[i],w1,'valid') 189 | layer_1_act = tanh(layer_1) 190 | 191 | layer_1_act_vec = np.expand_dims(np.reshape(layer_1_act,-1),axis=0) 192 | layer_2 = layer_1_act_vec.dot(w2) 193 | layer_2_act = log(layer_2) 194 | 195 | cost = np.square(layer_2_act- Y[i]).sum() * 0.5 196 | #print("Current iter : ",iter , " Current train: ",i, " Current cost: ",cost,end="\r") 197 | 198 | grad_2_part_1 = layer_2_act- Y[i] 199 | grad_2_part_2 = d_log(layer_2) 200 | grad_2_part_3 = layer_1_act_vec 201 | grad_2 = grad_2_part_3.T.dot(grad_2_part_1*grad_2_part_2) 202 | 203 | grad_1_part_1 = (grad_2_part_1*grad_2_part_2).dot(w2.T) 204 | grad_1_part_2 = d_tanh(layer_1) 205 | grad_1_part_3 = X[i] 206 | 207 | grad_1_part_1_reshape = np.reshape(grad_1_part_1,(2,2)) 208 | grad_1_temp_1 = grad_1_part_1_reshape * grad_1_part_2 209 | grad_1 = np.rot90( 210 | signal.convolve2d(grad_1_part_3, np.rot90(grad_1_temp_1, 2),'valid'), 211 | 2) 212 | 213 | w2 = w2 - grad_2 * learning_rate 214 | w1 = w1 - grad_1 * learning_rate 215 | 216 | # ---- Cost after training ------ 217 | for i in range(len(X)): 218 | 219 | layer_1 = signal.convolve2d(X[i],w1,'valid') 220 | layer_1_act = tanh(layer_1) 221 | 222 | layer_1_act_vec = np.expand_dims(np.reshape(layer_1_act,-1),axis=0) 223 | layer_2 = layer_1_act_vec.dot(w2) 224 | layer_2_act = log(layer_2) 225 | cost = np.square(layer_2_act- Y[i]).sum() * 0.5 226 | cost_after_train = cost_after_train + cost 227 | final_out = np.append(final_out,layer_2_act) 228 | 229 | 230 | # ----- Print Results --- 231 | print("\nW1 :",w1, "\n\nw2 :", w2) 232 | print("----------------") 233 | print("Cost before Training: ",cost_before_train) 234 | print("Cost after Training: ",cost_after_train) 235 | print("----------------") 236 | print("Start Out put : ", start_out) 237 | print("Final Out put : ", final_out) 238 | print("Ground Truth : ", Y.T) 239 | 240 | 241 | 242 | 243 | # -- end code -- 244 | ``` 245 | 246 | -------------------------------------------------------------------------------- /you-hua/xue-xi-fang-fa/ti-du-xia-jiang.md: -------------------------------------------------------------------------------- 1 | # 梯度下降 2 | 3 | ## 标准梯度下降 4 | 5 | ### GD 6 | 7 | 假设要学习训练的模型参数为 $$W$$ ,代价函数为 $$J(W)$$ ,则代价函数关于模型参数的偏导数即相关梯度为 $$ΔJ(W)$$ ,学习率为 $$η_t$$ ,则使用梯度下降法更新参数为: 8 | 9 | $$ 10 | W_{t+1}=W_{t}-\eta_{t} \Delta J\left(W_{t}\right) 11 | $$ 12 | 13 | ### BGD 14 | 15 | 其中可以使用批量样本来估计梯度,提升梯度估计的准确性 16 | 17 | $$ 18 | W_{t+1}=W_{t}-\eta_{t} \sum_{i=1}^{n} \Delta J_{i}\left(W_{t}, X^{(i)}, Y^{(i)}\right) 19 | $$ 20 | 21 | ## 动量 22 | 23 | ### **Momentum** 24 | 25 | 该方法使用动量缓冲梯度,减小随机梯度引起的噪声,并且解决Hessian矩阵病态问题(BGD在收敛过程中和正确梯度相比来回摆动比较大的问题)。 26 | 27 | 由于当前权值的改变会受到上一次权值改变的影响,类似于小球向下滚动的时候带上了惯性。这样可以加快小球向下滚动的速度。 28 | 29 | $$ 30 | \left\{\begin{array}{l}{v_{t}=\alpha v_{t-1}+\eta_{t} \Delta J\left(W_{t}, X^{\left(i_{s}\right)}, Y^{\left(i_{s}\right)}\right)} \\ {W_{t+1}=W_{t}-v_{t}}\end{array}\right. 31 | $$ 32 | 33 | ### **NAG** 34 | 35 | 牛顿加速梯度(Nesterov accelerated gradient)是动量的变种。 36 | 37 | Nesterov动量梯度的计算在模型参数施加当前速度之后,因此可以理解为往标准动量中添加了一个校正因子。在Momentun中小球会盲目地跟从下坡的梯度,容易发生错误。所以需要一个更聪明的小球,能提前知道它要去哪里,还要知道走到坡底的时候速度慢下来而不是又冲上另一个坡。 38 | 39 | $$ 40 | \left\{\begin{array}{l}{v_{t}=\alpha v_{t-1}+\eta_{t} \Delta J\left(W_{t}-\alpha v_{t-1}\right)} \\ {W_{t+1}=W_{t}-v_{t}}\end{array}\right. 41 | $$ 42 | 43 | ## 自适应学习率 44 | 45 | ### **AdaGrad** 46 | 47 | 独立地适应所有模型参数的学习率,缩放每个参数反比于其所有梯度历史平均值总和的平方根。具有代价函数最大梯度的参数相应地有个快速下降的学习率,而具有小梯度的参数在学习率上有相对较小的下降。 48 | 49 | $$ 50 | W_{t+1}=W_{t}-\frac{\eta_{0}}{\sqrt{\sum_{t^{\prime}=1}^{t}\left(g_{t^{\prime}, i}\right)+\epsilon}} \odot g_{t, i} 51 | $$ 52 | 53 | 54 | 55 | Adagrad 的主要优势在于不需要人为的调节学习率,它可以自动调节;缺点在于,随着迭代次数增多,学习率会越来越小,最终会趋近于0。 56 | 57 | ### **RMSProp** 58 | 59 | RMSProp算法修改了AdaGrad的梯度积累为指数加权的移动平均,使得其在非凸设定下效果更好。 60 | 61 | $$ 62 | \left\{\begin{array}{l}{E\left[g^{2}\right]_{t}=\alpha E\left[g^{2}\right]_{t-1}+(1-\alpha) g_{t}^{2}} \\ {W_{t+1}=W_{t}-\frac{\eta_{0}}{\sqrt{E\left[g^{2}\right]_{t}+\epsilon}} \odot g_{t}}\end{array}\right. 63 | $$ 64 | 65 | RMSProp算法在经验上已经被证明是一种有效且实用的深度神经网络优化算法。目前它是深度学习从业者经常采用的优化方法之一。 66 | 67 | ### **AdaDelta** 68 | 69 | AdaDelta是对AdaGrad的扩展,最初方案依然是对学习率进行自适应约束,但是进行了计算上的简化。 AdaGrad会累加之前所有的梯度平方,而AdaDelta只累加固定大小的项,并且也不直接存储这些项,仅仅是近似计算对应的平均值。即: 70 | 71 | $$ 72 | \begin{array}{l}{n_{t}=\nu * n_{t-1}+(1-\nu) * g_{t}^{2}} \\ {\Delta \theta_{t}=-\frac{\eta}{\sqrt{n_{t}+\epsilon}} * g_{t}}\end{array} 73 | $$ 74 | 75 | 在此处Ada**D**elta其实还是依赖于全局学习率的,但是作者做了一定处理,经过近似牛顿迭代法之后: 76 | 77 | $$ 78 | \begin{array}{l}{E\left|g^{2}\right|_{t}=\rho * E\left|g^{2}\right|_{t-1}+(1-\rho) * g_{t}^{2}} \\ {\Delta x_{t}=-\frac{\sqrt{\sum_{r=1}^{t-1} \Delta x_{r}}}{\sqrt{E\left|g^{2}\right|_{t}+\epsilon}}}\end{array} 79 | $$ 80 | 81 | 此时,可以看出AdaDelta已经不用依赖于全局学习率了。 82 | 83 | ### **Adam** 84 | 85 | Adam\(Adaptive Moment Estimation\)本质上是带有动量项的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。公式如下: 86 | 87 | $$ 88 | \left\{\begin{array}{l}{m_{t}=\beta_{1} m_{t-1}+\left(1-\beta_{1}\right) g_{t}} \\ {v_{t}=\beta_{2} v_{t-1}+\left(1-\beta_{2}\right) g_{t}^{2}} \\ {\hat{m}_{t}=\frac{m_{t}}{1-\beta_{1}^{t}}, \hat{v}_{t}=\frac{v_{t}}{1-\beta_{2}^{t}}} \\ {W_{t+1}=W_{t}-\frac{\eta}{\sqrt{\hat{v}_{t}}+\epsilon} \hat{m}_{t}}\end{array}\right. 89 | $$ 90 | 91 | 其中, $$m_t$$ 和 $$v_t$$ 分别为一阶动量项和二阶动量项。 $$β1, β2$$ 为动力值大小通常分别取0.9和0.999; $$\hat{m}_{t}, \hat{v}_{t}$$ 分别为各自的修正值。 92 | 93 | ## 性能比较 94 | 95 | ![](../../.gitbook/assets/20180426113728916.gif) 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /you-hua/zheng-ze-hua/README.md: -------------------------------------------------------------------------------- 1 | # 正则化/归一化 2 | 3 | ### 正则化 4 | 5 | 正则化的用于防止神经网络网络在小训练集上过拟合,主要的正则化方法有: 6 | 7 | * L1让权重趋向于稀疏解,可用于压缩模型大小 8 | * L2让权重趋向于较小的值,比L1更容易求解 9 | * Dropout随机关闭神经元的输出,用类似随机森林的思想防止过拟合 10 | * 下面的归一化方法也具有一定的正则化效果 11 | 12 | ### 归一化 13 | 14 | 归一化层用于加速深层神经网络的训练,主要的归一化方法有: 15 | 16 | 将输入的图像张量形状记为 $$[N, C, H, W]$$ (依次为样本、通道、高、宽) 17 | 18 | * BatchNormalization在维度$$[N,H,W]$$ 上对每个输出特征图进行归一化,小的BatchSize效果不好 19 | * LayerNormalization不涉及多个样本,在维度 $$[C, H, W]$$ 上对每一层的输出归一化,主要对RNN作用明显 20 | * Weight Normalization对权重本身进行归一化,可用于噪音敏感的任务,如强化学习 21 | * InstanceNormalization不涉及多个样本,在维度 $$[H, W]$$ 上对输出特征图做归一化,可用于神经风格迁移 22 | * GroupNormalization不涉及多个样本,将特征图分组,在维度 $$ $$ $$[C/G, H, W]$$ 上进行归一化 23 | * SwitchableNorm是将BatchNormalization、LayerNormalization、InstanceNormalization 24 | 25 | 方法结合,赋予权重,让网络自己去学习归一化层应该使用什么方法 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /you-hua/zheng-ze-hua/batch-normalization.md: -------------------------------------------------------------------------------- 1 | # Batch Normalization 2 | 3 | > [Batch Normalization: Accelerating Deep Network Training by ReducingInternal Covariate Shift](https://arxiv.org/abs/1502.03167) 4 | 5 | 训练深度神经网络很复杂,因为在训练过程中每层输入的分布发生变化,因为前一层的参数发生了变化。 这通过要求较低的学习率和仔细的参数初始化来减慢训练,并且使得训练具有饱和非线性的模型变得非常困难。我们将这种现象称为内部协变量移位,并通过规范化层输入来解决问题。我们的方法的优势在于将标准化作为模型体系结构的一部分,并为每个训练批次执行标准化。批量标准化使我们能够获得更高的学习率并且不太关心初始化,并且在某些情况下可以消除对Dropout的需求。 应用于最先进的图像分类模型,批量标准化实现了相同的准确度,培训步骤减少了14倍,并且显着地超过了原始模型。使用批量标准化网络的集合,我们改进了ImageNet分类的最佳公布结果:达到4.82%的前5个测试错误,超出了人类评估者的准确性。 6 | 7 | ## 方法 8 | 9 | ### 批标准化 10 | 11 | 其中scale/shift变换系数是可训练的 12 | 13 | ![](../../.gitbook/assets/image%20%28123%29.png) 14 | 15 | 参数的反向传播公式 16 | 17 | ![](../../.gitbook/assets/image%20%28187%29.png) 18 | 19 | ### 伪代码 20 | 21 | ![](../../.gitbook/assets/image%20%28198%29.png) 22 | 23 | 需要注意的是训练的时候使用批次样本的均值与方差,预测的时候使用所有训练样本的均值与方差。 24 | 25 | ### 卷积网络 26 | 27 | 注意前面写的都是对于一般情况,对于卷积神经网络有些许不同。因为卷积神经网络的特征是对应到一整张特征响应图上的,所以做BN时也应以响应图为单位而不是按照各个维度。 28 | 29 | ### 调参技巧 30 | 31 | * Increase learning rate 32 | * Remove Dropout 33 | * Shuffle training examples more thoroughly 34 | * Reduce the L2weight regularization 35 | * Accelerate the learning rate decay 36 | * Remove Local Response Normalization 37 | * Reduce the photometric distortions 38 | 39 | ## 实验 40 | 41 | ![](../../.gitbook/assets/image%20%28203%29.png) 42 | 43 | -------------------------------------------------------------------------------- /you-hua/zheng-ze-hua/layer-normalization.md: -------------------------------------------------------------------------------- 1 | # Layer Normalization 2 | 3 | > [Layer Normalization](https://arxiv.org/pdf/1607.06450.pdf) 4 | 5 | 训练最先进的深层神经网络在计算上是昂贵的。减少训练时间的一个方法是使神经元的激活规范化。最近引入的称为批量标准化的技术使用在一小批训练案例中对神经元求和输入的分布来计算方法和方差,然后将其用于在每个训练案例中对该神经元的总和输入进行标准化。这显着减少了前馈神经网络中的训练时间。 然而,批量标准化的效果取决于小批量大小,并且如何将其应用于递归神经网络并不明显。 在本文中,我们通过计算用于归一化的均值和方差从一个层中的所有总输入到一个层中的神经元,将批量归一化转换为层归一化。与批量归一化一样,我们也给每个神经元提供了自己的自适应偏差和增益,这些偏差和增益在归一化之后但在非线性之前应用。 与批量标准化不同,层标准化在训练和测试时间执行完全相同的计算。通过在每个时间步骤分别计算正规化统计量,也可以直接应用于递归神经网络。层规范化对于稳定递归网络中的隐藏状态动态非常有效。实际上,我们表明层标准化可以大大减少与以前公布的技术相比的训练时间。 6 | 7 | ## 方法 8 | 9 | ### BNN 10 | 11 | 如下面的公式,在BNN中,通过小批次数据的均值/方差对网络输出进行归一化。 12 | 13 | $$ 14 | \overline{a}_{i}^{l}=\frac{g_{i}^{l}}{\sigma_{i}^{l}}\left(a_{i}^{l}-\mu_{i}^{l}\right) \quad \mu_{i}^{l}=\underset{\mathbf{x} \sim P(\mathbf{x})}{\mathbb{E}}\left[a_{i}^{l}\right] \quad \sigma_{i}^{l}=\sqrt{\underset{\mathbf{x} \sim P(\mathbf{x})}{\mathbb{E}}\left[\left(a_{i}^{l}-\boldsymbol{\mu}_{i}^{l}\right)^{2}\right]} 15 | $$ 16 | 17 | ### Layer Normalization 18 | 19 | 但是这种方法不适用于RNN,因为对于不同的输入,RNN的深度是不确定的,因此无法为每层保存单独的均值/方差。 20 | 21 | $$ 22 | \mu^{l}=\frac{1}{H} \sum_{i=1}^{H} a_{i}^{l} \quad \sigma^{l}=\sqrt{\frac{1}{H} \sum_{i=1}^{H}\left(a_{i}^{l}-\mu^{l}\right)^{2}} 23 | $$ 24 | 25 | 所以我们的方法是,对同一层之间的输出进行跨通道规范化,这样便不依赖于小批次均值和方差。 26 | 27 | 在RNN中计算过程如下所示: 28 | 29 | $$ 30 | \mathbf{h}^{t}=f\left[\frac{\mathbf{g}}{\sigma^{t}} \odot\left(\mathbf{a}^{t}-\mu^{t}\right)+\mathbf{b}\right] \quad \mu^{t}=\frac{1}{H} \sum_{i=1}^{H} a_{i}^{t} \quad \sigma^{t}=\sqrt{\frac{1}{H} \sum_{i=1}^{H}\left(a_{i}^{t}-\mu^{t}\right)^{2}} 31 | $$ 32 | 33 | ## 性能 34 | 35 | 在卷积网络中效果差于BNN,在RNN中效果很好。 36 | 37 | -------------------------------------------------------------------------------- /you-hua/zheng-ze-hua/weight-normalization.md: -------------------------------------------------------------------------------- 1 | # Weight Normalization 2 | 3 | > [Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks](https://arxiv.org/pdf/1602.07868.pdf) 4 | 5 | 我们提出了权重归一化:神经网络中权重向量的重新参数化,将权重向量的长度与其方向分离。通过用这种方法重新定义权重,我们改进了优化问题的条件,加快了随机梯度下降的收敛速度。我们的重新参数化是受批处理规范化的启发,但并不在小批处理中的示例之间产生任何依赖关系。这意味着,我们的方法也可以成功地应用于递归模型,如LSTM,以及噪声敏感的应用,如深度强化学习或生成模型,批处理规范化不太适合这些应用。虽然我们的方法更简单,但它仍然提供了的full batch normalization的加速。此外,我们方法的计算开销较低,允许在相同的时间内采取更多的优化步骤。我们演示了我们的方法在监督图像识别、生成模型和深度强化学习中的应用。 6 | 7 | ## 方法 8 | 9 | 我们考虑标准的人工神经网络,其中每个神经元的计算包括摄入输入特征的加权和,然后是元素非线性: 10 | 11 | $$ 12 | y=\phi(\mathbf{w} \cdot \mathbf{x}+b) 13 | $$ 14 | 15 | 在将损失函数与一个或多个神经元输出相关联之后,这种神经网络通常通过每个神经元的参数w,b中的随机梯度下降来训练。为了加速这一优化过程的收敛,我们建议对参数向量和标量参数的每个加权向量重新参数化,并改为对这些参数执行随机梯度描述。我们通过使用表达新参数的权重向量来实现: 16 | 17 | $$ 18 | \mathbf{w}=\frac{g}{\|\mathbf{v}\|} \mathbf{v} 19 | $$ 20 | 21 | $$ 22 | \mathbf{v} \text { is a } k \text { -dimensional vector, } g \text { is a scalar, and }\|\mathbf{v}\| \text { denotes the Euclidean norm of } \mathbf{v} 23 | $$ 24 | 25 | 这种重新参数化的效果是:固定了权重向量的欧几里德范数。我们现在有 $$||w||=g$$ ,且独立于参数 $$v$$ 。因此,我们称之为reparameterizaton weight normalization。 26 | 27 | 我们也可以对标量使用指数参数化 $$g=e^{s}$$ ,而不是直接使用。 28 | 29 | ### Gradients 30 | 31 | 训练的时候,我们直接对 $$v、g$$ 使用标准梯度下降,其中梯度为: 32 | 33 | $$ 34 | \nabla_{g} L=\frac{\nabla_{\mathbf{w}} L \cdot \mathbf{v}}{\|\mathbf{v}\|}, \quad \nabla_{\mathbf{v}} L=\frac{g}{\|\mathbf{v}\|} \nabla_{\mathbf{w}} L-\frac{g \nabla_{g} L}{\|\mathbf{v}\|^{2}} \mathbf{v} 35 | $$ 36 | 37 | 另一种梯度的方法表达是 38 | 39 | $$ 40 | \nabla_{\mathbf{v}} L=\frac{g}{\|\mathbf{v}\|} M_{\mathbf{w}} \nabla_{\mathbf{w}} L, \quad \text { with } \quad \mathbf{M}_{\mathbf{w}}=\mathbf{I}-\frac{\mathbf{w} \mathbf{w}^{\prime}}{\|\mathbf{w}\|^{2}} 41 | $$ 42 | 43 | 这表明权重归一化实现了两件事:它将权重梯度按 $$g/||v||$$ 缩放,并将梯度从当前权重向量用 $$M_w$$ 投影出去。这两种效应都有助于使梯度的协方差矩阵更接近identity和利于优化,正如我们在下面解释的那样。 44 | 45 | 由于投射远离 $$w$$ ,当使用标准梯度下降没有动量学习具有权重归一化的神经网络时, $$v$$ 的范数随着权重更新次数单调增长: $$Let \ \mathbf{v}^{\prime}=\mathbf{v}+\Delta \mathbf{v}$$且 $$\Delta \mathbf{v} \propto \nabla_{\mathbf{v}} L$$ , $$\Delta \mathbf{v}$$ 一定正交于当前权重向量 $$w$$ ,因为我们在计算 $$\nabla_{\mathbf{v}} L$$ 时投影远离它。又 $$v$$与 $$w$$ 成比例,因此其与 $$v$$ 也是正交的,由于毕达哥拉斯定理,并且增加了它的范数。具体来说: $$\left\|\mathbf{v}^{\prime}\right\|=\sqrt{\|\mathbf{v}\|^{2}+c^{2}\|\mathbf{v}\|^{2}}=\sqrt{1+c^{2}\|\mathbf{v}\|} \geq\|\mathbf{v}\|$$ ,其中 $$\|\Delta \mathbf{v}\| /\|\mathbf{v}\|=c$$ 。因为范数增大 $$\frac{g}{\|\mathbf{v}\|}$$ 变小,会使得梯度变小,网络的学习会更稳定。对于像Adam这样对单个参数使用单独学习速率的优化器,此属性并不严格。我们在实验中使用,或在使用动量时使用。 但是,从质量上来说,我们仍然会发现同样的效果。 46 | 47 | 经验上,我们发现增长范数\| \| v \| \|的能力使得具有权重归一化的神经网络的优化对学习率的值非常鲁棒:如果学习率很大,则非归一化权重的范数快速增长,直到达到适当的有效学习率。一旦权重的范数相对于更新的范数变大,有效学习率稳定。因此,与使用正常参数化时相比,具有权重归一化的神经网络在更宽的学习率范围内工作良好。已经观察到,具有批量归一化的神经网络也具有\[特性,这也可以通过该分析来解释。 48 | 49 | Weight Normalization与BNN也有一定的相关性。对于我们的网络只有一层的特殊情况,该层的输入特征被白化\(以零均值和单位方差独立分布\),这些统计数据由 $$μ[ t ] = 0$$ 和 $$σ[t] =||v||$$ 。在这种情况下,使用批量标准化来标准化预激活等同于使用权重标准化来标准化权重。 50 | 51 | ### Data-Dependent Initialization of Parameters 52 | 53 | 除了重新参数化效果之外,批量标准化还具有固定由神经网络的每个层生成的特征的规模的益处。 这使得优化对于参数初始化是稳健的,对于这些参数初始化,这些尺度在各层之间变化 由于权重归一化缺乏这种属性,我们发现正确初始化参数很重要。我们建议从具有固定尺度的简单分布中对 $$v$$ 元素进行采样,这在我们的实验中是平均零和标准差0.05的正态分布。在开始培训之前,我们然后初始化 $$b$$ 和 $$g$$ 参数来修复我们网络中所有预激活的小批量统计信息,就像批量规范化一样,但仅限于单个小批量数据并且仅在初始化期间。这可以通过对单个数据小批量执行通过我们网络的初始前馈来有效地完成,在每个神经元处使用以下计算: 54 | 55 | $$ 56 | t=\frac{\mathbf{v} \cdot \mathbf{x}}{\|\mathbf{v}\|}, \quad \text { and } \quad y=\phi\left(\frac{t-\mu[t]}{\sigma[t]}\right) 57 | $$ 58 | 59 | 然后我们可以初始化神经元的biase 和 scale 为: 60 | 61 | $$ 62 | g \leftarrow \frac{1}{\sigma[t]}, \quad \quad b \leftarrow \frac{-\mu[t]}{\sigma[t]} 63 | $$ 64 | 65 | 像批量标准化一样,该方法确保在应用非线性之前,所有特征最初具有零均值和单位方差。对于我们的方法,这仅适用于我们用于初始化的小批次,随后的小批次可能具有稍微不同的统计数据,但是通过实验,我们发现这种初始化方法工作良好。 66 | 67 | ### Mean-only Batch Normalization 68 | 69 | 如前文所述,权重归一化使得神经元激活的scale大致不依赖于参数 $$v$$ 。 然而,与批量标准化不同,神经元活化的均值仍然依赖于$$v$$ 。 因此,我们还探索了将权重规范化与批量规范化的特殊版本相结合的想法,我们称之为mean-only batch normalization: 70 | 71 | $$ 72 | t=\mathbf{w} \cdot \mathbf{x}, \quad \tilde{t}=t-\mu[t]+b, \quad y=\phi(\tilde{t}) 73 | $$ 74 | 75 | 相对于预激活 $$t$$ 的损失梯度计算为 76 | 77 | $$ 78 | \nabla_{t} L=\nabla_{\tilde{t}} L-\mu\left[\nabla_{\tilde{t}} L\right] 79 | $$ 80 | 81 | ## 测试 82 | 83 | ### 分类 84 | 85 | ![](../../.gitbook/assets/image%20%2891%29.png) 86 | 87 | ### 强化学习 88 | 89 | 接下来,我们将权重归一化应用于在Atari学习环境中玩游戏的强化学习问题\[2\]。 我们使用的方法是\[21\]提出的深度Q网络(DQN)。 这是一种批量标准化不适合的应用程序:通过估计小批量统计数据引入的噪声会破坏学习过程的稳定性。 90 | 91 | ![](../../.gitbook/assets/image%20%2894%29.png) 92 | 93 | -------------------------------------------------------------------------------- /yuan-xue-xi/fine-tune/README.md: -------------------------------------------------------------------------------- 1 | # Fine-tune 2 | 3 | -------------------------------------------------------------------------------- /yuan-xue-xi/fine-tune/maml.md: -------------------------------------------------------------------------------- 1 | # MAML 2 | 3 | > [Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks](https://arxiv.org/abs/1703.03400) 4 | 5 | -------------------------------------------------------------------------------- /yuan-xue-xi/fine-tune/on-first-order-meta-learning-algorithms.md: -------------------------------------------------------------------------------- 1 | # On First-Order Meta-Learning Algorithms 2 | 3 | > [On First-Order Meta-Learning Algorithms](https://arxiv.org/abs/1803.02999) 4 | 5 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/chao-can-shu/README.md: -------------------------------------------------------------------------------- 1 | # 超参数 2 | 3 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/chao-can-shu/bayesian-optimization.md: -------------------------------------------------------------------------------- 1 | # Bayesian Optimization 2 | 3 | > [A Tutorial on Bayesian Optimization](https://arxiv.org/pdf/1807.02811.pdf) 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/chao-can-shu/population-based-training-of-neural-networks.md: -------------------------------------------------------------------------------- 1 | # PBT 2 | 3 | > [Population based training of neural networks](https://arxiv.org/pdf/1711.09846.pdf) 4 | 5 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/README.md: -------------------------------------------------------------------------------- 1 | # 神经架构搜索 2 | 3 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/amc.md: -------------------------------------------------------------------------------- 1 | # AMC 2 | 3 | > [AMC: AutoML for Model Compression and Acceleration on Mobile Devices](https://arxiv.org/pdf/1802.03494.pdf) 4 | 5 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/darts-differentiable-architecture-search.md: -------------------------------------------------------------------------------- 1 | # DARTS 2 | 3 | > [DARTS: Differentiable Architecture Search](https://arxiv.org/abs/1806.09055) 4 | 5 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/learning-transferable-architectures-for-scalable-image-recognition.md: -------------------------------------------------------------------------------- 1 | # NASNet 2 | 3 | > [Learning Transferable Architectures for Scalable Image Recognition](https://arxiv.org/pdf/1707.07012.pdf) 4 | 5 | -------------------------------------------------------------------------------- /zi-dong-ji-qi-xue-xi/shen-jing-jia-gou-sou-suo/neural-architecture-search-with-reinforcement-learning.md: -------------------------------------------------------------------------------- 1 | # NAS 2 | 3 | > [Neural Architecture Search With Reinforcement Learning](https://arxiv.org/pdf/1611.01578.pdf) 4 | 5 | --------------------------------------------------------------------------------