KR20210109632A - 신경망 모델을 생성하는 방법 및 장치 그리고 컴퓨터가 판독 가능한 저장 매체 - Google Patents
신경망 모델을 생성하는 방법 및 장치 그리고 컴퓨터가 판독 가능한 저장 매체 Download PDFInfo
- Publication number
- KR20210109632A KR20210109632A KR1020217025055A KR20217025055A KR20210109632A KR 20210109632 A KR20210109632 A KR 20210109632A KR 1020217025055 A KR1020217025055 A KR 1020217025055A KR 20217025055 A KR20217025055 A KR 20217025055A KR 20210109632 A KR20210109632 A KR 20210109632A
- Authority
- KR
- South Korea
- Prior art keywords
- hyperparameter
- neural network
- network model
- residual
- layer
- Prior art date
Links
- 238000003062 neural network model Methods 0.000 title claims abstract description 245
- 238000000034 method Methods 0.000 title claims abstract description 91
- 238000012549 training Methods 0.000 claims abstract description 72
- 238000012795 verification Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 26
- 238000010200 validation analysis Methods 0.000 claims description 22
- 238000001514 detection method Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 230000004913 activation Effects 0.000 claims description 10
- 238000010606 normalization Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 description 60
- 238000005457 optimization Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 10
- 238000011156 evaluation Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/0985—Hyperparameter optimisation; Meta-learning; Learning-to-learn
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G06K9/6296—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 출원은 게임에 적용 가능한 신경망 모델을 생성하는 방법 및 장치 그리고 컴퓨터가 판독 가능한 저장 매체를 개시한다. 상기 방법은: 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하는 단계; 상기 제1 신경망 모델을 훈련하는 것에 의해 획득한 제2 신경망 모델의 제1 모델 정확도를 획득하는 단계; 및 제1 모델 정확도가 타깃 정확도보다 낮은 경우, 제1 신경망 모델의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하는 단계를 포함한다.
Description
본 출원은, 2019년 7월 27일에 출원된 중국 특허 출원 번호 제201910565729.6호에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 그 전체로서 원용에 의해 본 명세서에 포함된다.
본 출원은 컴퓨터 분야에 관한 것으로, 특히 신경망 모델(neural network model)을 생성하는 방법 및 장치, 그리고 컴퓨터가 판독 가능한 저장 매체에 관한 것이다.
종래에는 신경망 모델을 구축하는 프로세스에서, 신경망 아키텍처를 수동으로 조정하였다. 이 방법은 100% 수동이며 연구원과 기계 학습 엔지니어가 가장 널리 사용하는 방법이며, 예를 들어 게임 인공 지능(artificial intelligence, AI)을 위한 모방 학습(imitation learning) 프로세스를 설계하고, 그 다음에 순서대로 상이한 신경망 모델 아키텍처를 반복하며, 신경망 아키텍처의 모방 학습 모델 가중치를 훈련하고(training), 모델이 AI 요건을 충족할 때까지 AI 효과를 관찰하기 위해 가중치를 게임에 적용하는 것을 포함하는, 아주 간단한 워크플로(workflow)를 가진다.
첫째, 신경망 아키텍처를 수동으로 설계하려면 개발자가 심층 학습(deep learning) 및 신경망 아키텍처에 대한 풍부한 경험을 보유해야 하며, 그래야만 AI 요건을 충족하는 신경망 아키텍처를 설계할 수 있다. 기계 학습(machine learning) 경험이 부족하면 성능이 우수한 기계 학습 모델을 설계하기가 어렵다. 둘째, 수동 작업 기반 솔루션에서, 기계 학습이 신규 애플리케이션에 적용될 때, 신규 애플리케이션을 위한 신경망 아키텍처 설계를 완료하기 위해 인력을 투자해야 한다. 또한, 동일한 애플리케이션에 대해 더 나은 효과를 가진 AI를 획득하기 위해, 많은 인건비가 필요한 많은 신경망 아키텍처를 실험해야 한다.
현재 관련 기술에서 전술한 문제점에 대한 효과적인 솔루션은 아직 없다.
본 출원의 실시 예들은 상대적으로 낮은 신경망 모델 생성 효율이라는 기술적 문제를 적어도 해결하기 위해, 게임에 적용 가능한 신경망 모델을 생성하는 방법 및 장치 및 컴퓨터가 판독 가능한 저장 매체를 제공한다.
본 출원의 실시 예는 게임에 적용 가능한 신경망 모델을 생성하는 방법을 제공하며, 신경망 모델은 작동을 위해 게임에서 게임 엘리먼트를 제어하도록 구성되며, 상기 방법은 전자 디바이스에 적용되며,
하이퍼파라미터(hyperparameter) 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하는 단계 - 상기 제1 신경망 모델은 입력 계층과 상기 하이퍼파라미터 값을 갖는 구조 계층과 출력 계층을 타깃 연결 방식(target connection manner)으로 연결하는 것에 의해 획득된 신경망 모델임 -
상기 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도(accuracy)를 획득하는 단계; 및
상기 제1 모델 정확도가 타깃 정확도보다 낮은 경우, 상기 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 상기 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하는 단계 - 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 상기 타깃 정확도보다 높거나 같으며, 상기 제4 신경망 모델은 상기 제3 신경망 모델을 훈련하는 것에 의해 획득됨 - 를 포함한다.
본 출원의 실시 예는 게임에 적용 가능한 신경망 모델을 생성하는 장치를 더 제공하며, 상기 장치는,
하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하도록 구성된 결정 모듈 - 상기 제1 신경망 모델은 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 타깃 연결 방식으로 연결하는 것에 의해 획득된 신경망 모델임 -;
상기 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도를 획득하도록 구성된 획득 모듈; 및
상기 제1 모델 정확도가 타깃 정확도보다 낮은 경우, 상기 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 상기 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하도록 구성된 업데이트 모듈 - 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 상기 타깃 정확도보다 높거나 같으며, 상기 제4 신경망 모델은 상기 제3 신경망 모델을 훈련하는 것에 의해 획득됨 - 를 포함한다.
본 출원의 실시 예는 컴퓨터 프로그램을 저장하는, 컴퓨터가 판독 가능한 저장 매체를 더 제공하며, 상기 컴퓨터 프로그램은 실행될 때 전술한 측면 중 어느 하나에 따른 방법을 수행하도록 구성된다.
본 출원의 실시 예는 전자 디바이스를 더 제공하며, 상기 전자 디바이스는 메모리 및 프로세서를 포함하고, 상기 메모리는 컴퓨터 프로그램을 저장하고, 상기 프로세서는 상기 컴퓨터 프로그램을 사용하여 전술한 측면 중 어느 하나에 따른 방법을 수행하도록 구성된다.
본 출원의 실시 예에서, 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값이 하이퍼파라미터 값 세트로부터 결정되며, 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도가 획득되고, 제1 모델 정확도가 타깃 정확도보다 낮은 경우, 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득한다. 또한, 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 타깃 정확도보다 높거나 같다. 이러한 방식으로, 하이퍼파라미터 값의 조정 동안에, 일부 하이퍼파라미터 값이 현재 모델의 모델 정확도에 따라 조정되므로, 조정된 하이퍼파라미터의 범위를 좁혀 신경망 모델 생성의 효율성을 높일 수 있다.
여기에서 설명된 첨부 도면은 본 출원의 실시 예에 대한 추가 이해를 제공하기 위해 사용되며 본 출원의 실시 예의 일부를 형성한다. 본 출원의 예시적인 실시 예 및 이의 도면은 본 출원의 실시 예를 설명하는 데 사용되며, 본 출원의 실시 예에 대해 부적절한 제한을 구성하지 않는다.
도면에서:
도 1은 본 출원의 실시 예에 따른 신경망 모델을 생성하는 방법의 시스템 아키텍처의 개략도이다.
도 2는 본 출원의 실시 예에 따른 게임에 적용 가능한 신경망 모델을 생성하는 방법의 개략도이다.
도 3은 본 출원의 실시 예에 따른 신경망 모델을 생성하는 방법의 애플리케이션 환경의 개략도이다.
도 4는 본 출원의 실시 예에 따른 다양한 전형적인 계층의 하이퍼파라미터 유형의 개략도이다.
도 5는 본 출원의 실시 예에 따른 블록 A의 잔차 구조의 개략도이다.
도 6은 본 출원의 실시 예에 따른 블록 B의 잔차 구조의 개략도이다.
도 7은 본 출원의 실시 예에 따른 추상화된 ResNet50 네트워크 아키텍처의 개략도이다.
도 8은 본 출원의 실시 예에 따른 베이지안(Bayesian) 최적화 알고리즘에 구성된 신경망 검색 공간의 정의 파일의 개략도이다.
도 9는 본 출원의 실시 예에 따른 신경망 모델을 생성하는 장치의 개략도이다.
도 10은 본 출원의 실시 예에 따른 신경망 모델을 생성하는 방법의 구현의 개략적인 흐름도이다.
도 11은 본 출원의 실시 예에 따른 특정 게임의 요건을 충족하는 신경망 아키텍처의 개략도이다.
도 12는 본 출원의 실시 예에 따른 전자 디바이스의 개략도이다.
도면에서:
도 1은 본 출원의 실시 예에 따른 신경망 모델을 생성하는 방법의 시스템 아키텍처의 개략도이다.
도 2는 본 출원의 실시 예에 따른 게임에 적용 가능한 신경망 모델을 생성하는 방법의 개략도이다.
도 3은 본 출원의 실시 예에 따른 신경망 모델을 생성하는 방법의 애플리케이션 환경의 개략도이다.
도 4는 본 출원의 실시 예에 따른 다양한 전형적인 계층의 하이퍼파라미터 유형의 개략도이다.
도 5는 본 출원의 실시 예에 따른 블록 A의 잔차 구조의 개략도이다.
도 6은 본 출원의 실시 예에 따른 블록 B의 잔차 구조의 개략도이다.
도 7은 본 출원의 실시 예에 따른 추상화된 ResNet50 네트워크 아키텍처의 개략도이다.
도 8은 본 출원의 실시 예에 따른 베이지안(Bayesian) 최적화 알고리즘에 구성된 신경망 검색 공간의 정의 파일의 개략도이다.
도 9는 본 출원의 실시 예에 따른 신경망 모델을 생성하는 장치의 개략도이다.
도 10은 본 출원의 실시 예에 따른 신경망 모델을 생성하는 방법의 구현의 개략적인 흐름도이다.
도 11은 본 출원의 실시 예에 따른 특정 게임의 요건을 충족하는 신경망 아키텍처의 개략도이다.
도 12는 본 출원의 실시 예에 따른 전자 디바이스의 개략도이다.
당업자가 본 출원의 실시 예의 솔루션을 더 잘 이해할 수 있도록, 다음은 본 출원의 실시 예의 첨부 도면을 참조하여 본 출원의 실시 예의 기술적 솔루션을 명확하고 완전하게 설명한다. 분명히, 설명된 실시 예는 모든 실시 예가 아니라 본 출원의 실시 예의 일부일 뿐이다. 창의적인 노력없이 본 출원의 실시 예에 기반하여 당업자에 의해 획득된 다른 모든 실시 예는 본 출원의 실시 예의 보호 범위 내에 속할 것이다.
본 출원의 명세서, 청구 범위 및 첨부된 도면에서, 용어 "제1", "제2" 등은 특정 순서 또는 시퀀스를 설명하기 보다는 유사한 객체를 구별하기 위한 것이다. 이러한 방식으로 명명된 데이터는 적절한 상황에서 상호 교환될 수 있으므로, 여기에 설명된 본 출원의 실시 예는 여기에 설명되거나 예시된 순서와 다른 순서로 구현될 수 있다. 또한, "포함" 및 "함유(contain)"라는 용어 및 그 밖의 모든 변형은 비 배타적인 포함을 의미하며, 예를 들어 단계 또는 유닛의 리스트를 포함하는 프로세스, 방법, 시스템, 제품 또는 디바이스가, 명시적으로 나열된 단계 또는 유닛으로 반드시 제한되지 않으며, 그러한 프로세스, 방법, 시스템, 제품 또는 디바이스에 명시적으로 나열되지 않거나 고유하지 않은 다른 단계 또는 유닛을 포함할 수 있다.
도 1은 본 출원의 실시 예에 따른 신경망 모델을 생성하는 방법의 시스템 아키텍처의 개략도이다. 도 1에 도시된 바와 같이, 시스템 아키텍처는 제1 단말(100), 서버(200), 네트워크(300) 및 제2 단말(400)을 포함한다. 예시적인 애플리케이션을 지원하기 위해, 제1 단말(100) 및 제2 단말(400)은 각각 네트워크(300)를 사용하여 서버(200)와 연결된다. 제1 단말(100)은 실제 플레이어(player)가 제어하는 스마트 단말일 수 있다. 스마트 단말은 화면(screen) 디스플레이 기능이 있는 임의의 단말, 예를 들어 노트북 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터 또는 모바일 디바이스(예를 들어, 모바일 폰, 휴대용 음악 플레이어, 개인 휴대 정보 단말기(personal digital assistant), 전용 메시징 디바이스 또는 휴대용 게임 디바이스)일 수 있다. 제2 단말(400)은 스마트 로봇일 수 있으며, 예를 들어 게임 로봇일 수 있다. 네트워크(300)는 광역 통신망(wide area network), 근거리 통신망(local area network) 또는 광역 통신망과 근거리 통신망의 조합일 수 있으며, 무선 링크를 사용하여 데이터 전송을 달성한다.
서버(200)는 본 출원의 본 실시 예에서 제공되는, 게임에 적용 가능한 신경망 모델을 생성하는 방법에 따라 신경망 모델을 생성하고, 실제 플레이어가 게임을 할 때 생성된 데이터를 획득하여 훈련 데이터(training data)를 획득하고, 추가로 훈련 데이터에 따라 생성된 신경망 모델을 훈련하고, 훈련된 신경망 모델을 제2 단말(400)로 전달한다. 제2 단말(400)은 훈련된 신경망 모델을 기반으로 게임 매치(game match)에서 게임 엘리먼트를 제어하여 인간-기계 배틀 태스크(man-machine battle task), 게임 플레이 회사 태스크 또는 자동 유휴 태스크와 같은 대응하는 게임 태스크를 완료한다.
서버(200)는 독립적인 물리적 서버일 수도 있고, 복수의 물리적 서버를 포함하는 서버 클러스터 또는 분산 시스템일 수도 있고, 클라우드 기술에 기반한 클라우드 서버일 수도 있다. 클라우드 기술은 하드웨어, 소프트웨어 및 네트워크와 같은 일련의 리소스를 광역 통신망 또는 근거리 통신망에서 통합하여 데이터의 컴퓨팅, 저장, 처리 및 공유를 구현하는 호스팅 기술이다. 본 출원의 본 실시 예에서, 서버(200)가 클라우드 서버일 때, 서버(200)가 제공하는 AI 클라우드 서비스는 신경망 모델을 생성하고, 훈련(training) 데이터를 기반으로, 생성된 신경망 모델을 학습하므로, 신경망 모델이 상호 작용 프로세스에서 작동 스킬(skill)(신경망 모델 파라미터로 반영됨)을 학습할 수 있다.
훈련 데이터는 실제 플레이어가 싸우기(fight) 위해 게임 역할을 제어할 때 전투 프로세스(fighting process)에서 실제 플레이어의 기본 게임 정보, 실시간 장면(scene) 정보 및 작동(operation) 데이터이다. 기본 게임 정보는, 실제 플레이어가 제어하는 게임 역할이 이겼는지 여부, 장면의 크기(장면은 게임에서 물체가 움직일 수 있는 공간 예를 들어 전투 게임의 아레나(arena)임), 및 각 스킬의 총 쿨다운(cooldown) 시간을 포함할 수 있다. 장면 데이터는 우리 편(side)의 위치(실제 플레이어가 제어하는 게임 역할의 위치), 상대의 위치(실제 플레이어가 제어하는 게임 역할과 싸우는 게임 역할), 우리 편의 각 스킬의 현재 쿨다운 시간과 상대의 각 스킬의 현재 쿨다운 시간을 포함한다. 작동 데이터는 스킬 사용 모드(각 스킬 해제 여부 및 일반 공격(normal attack) 수행 여부), 조이스틱이 움직이는 각도, 실제 플레이어가 제어하는 게임 역할의 점프 여부 등을 포함한다.
생성된 신경망 모델을 훈련 데이터를 사용하여 훈련할 때, 입력 계층, 출력 계층, 신경망 모델 파라미터를 포함하는 손실 함수(loss function)가 먼저 초기화된다. 신경망 모델의 각각의 반복 훈련 프로세스에서, 훈련 데이터를 손실 함수로 대체하여 손실 함수의 최소값을 획득한 경우 대응하는 신경망 모델 파라미터를 해결하고(solve), 신경망 모델을 해결된 신경망 모델 파라미터에 따라 업데이트한다.
일 예에서, 훈련된 신경망 모델을 획득한 후, 제2 단말(400)은 제1 단말(100)에 대해 인간-기계 전투 태스크를 실행한다. 제1 단말(100) 및 제2 단말(400)은 제1 객체(110) 및 제2 객체(120)를 포함하는 게임 애플리케이션의 가상 장면을 출력한다. 제1 객체(110)는 사용자(사용자와 로봇 모델을 구별하기 위해 실제 플레이어라고도 함)에 의해 제어되는 게임 역할일 수 있다. 제1 객체(110)는 실제 플레이어에 의해 제어되며, 실제 플레이어가 제1 단말(100)의 컨트롤러(키보드, 마우스, 조이스틱 등 포함) 상에서 수행하는 작동에 응답하여 가상 장면에서 이동한다. 서버는 실제 플레이어의 실시간 게임 데이터를 획득하며, 데이터를 제2 단말(400)에 송신한다. 제2 단말(400)은 훈련된 신경망 모델을 기반으로 제2 객체(120)가 수행할 작동 데이터를 예측하고, 제2 객체(120)가 작동 데이터를 실행하도록 제어하여 대응하는 작동을 구현하며, 이에 따라 제1 객체(110)와 제2 객체(120) 사이의 지능적인 상호 작용을 달성한다.
본 출원의 이 실시 예에서, 서버를 사용하여 게임에 적용 가능한 신경망 모델을 생성하는 구현이 설명된다. 도 2는 본 출원의 실시 예에 따른 게임에 적용 가능한 신경망 모델을 생성하는 방법을 도시한다. 도 2에 도시된 바와 같이, 상기 방법에는 다음 단계를 포함한다.
S102: 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정한다.
제1 신경망 모델은 적어도 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층(structural layer) 및 출력 계층을 타깃 연결 방식으로 연결하는 것에 의해 획득된 신경망 모델이다.
S104: 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도(accuracy)를 획득한다.
제1 모델 정확도는 제2 신경망 모델을 사용하여 검증 샘플 세트(verification sample set)를 검출하는 정확도를 지시하는 데 사용된다.
S106: 제1 모델 정확도가 타깃 정확도보다 낮은 경우 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여, 제3 신경망 모델을 획득한다.
제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 타깃 정확도보다 높거나 같으며, 제4 신경망 모델은 제3 신경망 모델을 훈련하는 것에 의해 획득된다.
생성된 제3 신경망 모델은 게임에서의 작동을 위해 게임 엘리먼트를 제어하도록 구성될 수 있다. 게임 엘리먼트는 게임 매치에서 게임 역할 및 조직 단위(organization unit)(예: 건물, 자원 또는 군대 부대)를 포함하지만 이에 제한되지 않는, 게임 매치의 배경이나 사용자가 제어할 수 있는 엘리먼트이다.
본 출원의 이 실시 예에서, 전술한 신경망 모델을 생성하는 방법은 도 3에 도시된 서버(200)에 의해 형성된 하드웨어 환경에 적용될 수 있다. 도 3에 도시된 바와 같이, 서버(200)의 처리 절차는 다음 단계를 포함한다: 단계 S202: 서버(200)는 하이퍼파라미터 값 세트(204)로부터 제1 신경망 모델(206)에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정한다. 제1 신경망 모델은 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층, 출력 계층을 타깃 연결 방식으로 연결하는 것에 의해 획득된 신경망 모델이다. 단계 S204: 서버(200)는 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델(208)의 제1 모델 정확도를 획득하고, 제1 모델 정확도는 제2 신경망 모델(208)을 사용하여 검증 샘플 세트를 검출하는 정확도를 지시하는 데 사용된다. 단계 S206: 서버(200)는 제1 모델 정확도가 타깃 정확도보다 낮은 경우, 제1 신경망 모델(206)의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여, 제3 신경망을 획득한다. 제3 신경망 모델(210)을 훈련하여 획득된 제4 신경망 모델(212)을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 타깃 정확도보다 높거나 같다.
본 출원의 이 실시 예에서, 신경망 모델을 생성하는 방법은 애플리케이션을 위한 신경망 모델 생성 시나리오에 적용될 수 있으나 이에 제한되지 않는다. 전술한 애플리케이션은 예를 들어, 온라인 교육 애플리케이션, 인스턴트 메시징 애플리케이션, 커뮤니티 공간 애플리케이션, 게임 애플리케이션, 쇼핑 애플리케이션, 브라우저 애플리케이션, 금융 애플리케이션, 멀티미디어 애플리케이션 및 라이브 스트리밍 애플리케이션 등 다양한 유형의 애플리케이션일 수 있지만 이에 제한되지는 않는다. 신경망 모델을 생성하는 방법을 게임 애플리케이션 이외의 애플리케이션에 적용하는 경우, 상기 방법은 실제로 애플리케이션의 게임 장면에 적용되어, 신경망 모델 생성의 효율성을 높인다. 이것은 단지 예일뿐이며, 본 출원의 이 실시 예는 이에 제한되지 않는다.
본 출원의 이 실시 예에서, 기계 학습의 맥락(context)에서, 하이퍼파라미터는 학습 프로세스가 시작되기 전에 값이 설정되는 파라미터이다. 다른 파라미터의 값은 훈련을 통해 획득된다. 예를 들어, 콘볼루션 계층(convolutional layer)의 하이퍼파라미터는 콘볼루션 커널(kernel)의 수량, 채널의 수량, 콘볼루션 커널의 높이 및 너비, 수평 방향에서의 스트라이드(stride), 수직 방향에서의 스트라이드 등을 포함한다. 완전 연결 계층(fully-connected layer)의 하이퍼파라미터는 많은 뉴런(neuron)을 포함한다. 활성화 함수 계층(activation function layer)의 하이퍼파라미터는 활성화 함수의 유형, 함수의 파라미터 등을 포함한다. 도 4는 다양한 전형적인 계층의 하이퍼파라미터 유형을 도시한다.
본 출원의 이 실시 예에서, 신경망 모델은 입력 계층, 구조 계층 및 출력 계층으로 나눠진다. 입력 계층과 출력 계층의 하이퍼파라미터가 결정되고, 신경망 모델 생성 프로세스에서 구조 계층의 하이퍼파라미터만 조정된다.
본 출원의 이 실시 예에서, 신경망 모델이 획득될 때마다, 훈련 샘플 세트 및 검증 샘플 세트를 사용하여 신경망 모델의 정확성이 검증된다. 정확도가 조건을 충족하지 않는 모델(즉, 제1 모델 정확도가 타깃 정확도보다 낮음)의 경우, 구조 계층의 일부 하이퍼파라미터를 조정하여 신규 모델을 획득한다. 정확도가 조건을 충족하는 모델(즉, 제1 모델 정확도가 타깃 정확도보다 높거나 같음)이 타깃 모델로 결정된다.
이를 고려하여, 전술한 단계를 통해, 신경망 모델은 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층, 출력 계층으로 나눠진다. 구조 계층의 하이퍼파라미터가 조정된다. 조정 중에, 구조 계층의 일부 하이퍼파라미터의 하이퍼파라미터 값은 현재 모델의 모델 정확도에 따라 조정되므로, 조정된 하이퍼파라미터의 범위가 좁아지며, 이에 따라 신경망 모델 생성의 효율성이 향상되고, 추가로 신경망 모델 생성의 상대적으로 낮은 효율성이라는 기술적 문제를 해결한다.
본 출원의 일부 실시 예에서, 구조 계층은 제1 잔차 네트워크(residual network) 및 제2 잔차 네트워크를 포함하고, 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하는 것은 다음 단계를 포함한다:
S1: 제1 하이퍼파라미터 값 서브 세트로부터 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하며, 제1 잔차 네트워크의 복수의 하이퍼파라미터는 제1 하이퍼파라미터를 포함한다.
S2: 제2 하이퍼파라미터 값 서브 세트로부터 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하며, 제2 잔차 네트워크의 복수의 하이퍼파라미터는 제2 하이퍼파라미터를 포함하며, 하이퍼파라미터 값 세트는 제1 하이퍼파라미터 값 서브 세트 및 제2 하이퍼파라미터 값 서브 세트를 포함한다.
본 출원의 실시 예에서, 심층(deep) 잔차 네트워크 ResNet50가 기본 모델로 사용된다. 표준 ResNet50 네트워크 아키텍처는 매우 심층적인 네트워크이다. ResNet50 네트워크에서 사용되는 잔차 구조는 추상화되고(abstracted) 그리고 블록 A 및 블록 B라고 한다. 도 5는 블록 A의 잔차 구조를 도시한다. 도 6은 블록 B의 잔차 구조를 도시한다.
본 출원의 이 실시 예에서, 제1 잔차 네트워크는 블록 A일 수 있으나 이에 제한되지 않으며, 제2 잔차 네트워크는 블록 B일 수 있으나 이에 제한되지 않는다.
본 출원의 이 실시 예에서, 블록 A의 구조에 대해, 그것의 제1 하이퍼파라미터만을 탐색하는(explore) 것이 허용된다. 블록 B의 구조에 대해서는 제2 하이퍼파라미터를 탐색할 수 있다.
본 출원의 이 실시 예에서, 구조 계층은 복수의 제1 잔차 네트워크 및 복수의 제2 잔차 네트워크를 포함하고, 하이퍼파라미터 값 세트는 복수의 제1 하이퍼파라미터 값 서브 세트 및 복수의 제2 하이퍼파라미터 값 서브 세트를 포함하며, 복수의 제1 잔차 네트워크는 복수의 제1 하이퍼파라미터 값 서브 세트와 일대일 대응 관계(one-to-one correspondence)에 있으며, 복수의 제2 잔차 네트워크는 복수의 제2 하이퍼파라미터 값 서브 세트와 일대일 대응 관계에 있다.
S1에서, 제1 하이퍼파라미터 값 서브 세트로부터 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하는 것은, 복수의 제1 하이퍼파라미터 값 서브 세트에서의 각각의 제1 하이퍼파라미터 값 서브 세트로부터 타깃 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하는 단계를 포함하며, 타깃 제1 잔차 네트워크는 각각의 제1 하이퍼파라미터 값 서브 세트에 대응하는 제1 잔차 네트워크이다.
S2에서, 제2 하이퍼파라미터 값 서브 세트로부터 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하는 것은, 각각의 제2 하이퍼파라미터 값 서브 세트로부터 타깃 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하는 것을 포함한다: 복수의 제2 하이퍼파라미터 값 서브 세트-타깃 제2 잔차 네트워크는 각각의 제2 하이퍼파라미터 값 서브 세트에 대응하는 제2 잔차 네트워크이다.
본 출원의 이 실시 예에서, ResNet50의 잔차 네트워크는 복수의 블록 A 및 복수의 블록 B를 포함한다. 도 7은 추상화된 ResNet50 네트워크 아키텍처를 도시한다. Layer1은 ResNet50의 입력 계층이다. Layer2, Layer4, Layer6 및 Layer8은 블록 A 구조의 것이다. Layer3, Layer5, Layer7 및 Layer9는 블록 B 구조의 것이며, 여기서, ×2는 두개의 블록 B 구조가 연쇄 연결되었음을(concatenated) 나타낸다. 후속 계층에서의 블록 B×3 및 블록 B×5는 3개 또는 5개의 블록 B 구조가 연쇄 연결되어 큰 구조를 형성함을 나타낸다. Layer10은 출력 계층이다.
본 출원의 이 실시 예에서, 각각의 제1 하이퍼파라미터 값 서브 세트는 각각의 제1 하이퍼파라미터의 검색 공간(search space)과 동등하고(equivalent), 각각의 제2 하이퍼파라미터 값 서브 세트는 각각의 제2 하이퍼파라미터의 검색 공간과 동등하다.
본 출원의 이 실시 예에서, 제1 신경망 모델의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하는 것은 다음 단계 중 적어도 하나를 포함한다:
S1: 일부 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 일부 제1 잔차 네트워크에 대응하는 제3 하이퍼파라미터 값으로 업데이트한다.
제3 하이퍼파라미터 값은 제1 하이퍼파라미터 값 서브 세트에서의 하이퍼파라미터 값이다.
S2: 일부 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 제2 하이퍼파라미터 값 서브 세트에서의 일부 제2 잔차 네트워크에 대응하는 제4 하이퍼파라미터 값으로 업데이트한다.
제4 하이퍼파라미터 값은 제2 하이퍼파라미터 값 서브 세트에서의 하이퍼파라미터 값이다.
본 출원의 이 실시 예에서, 하이퍼파라미터는 베이지안 최적화 알고리즘(Bayesian optimization algorithm), 그리드(grid) 검색, 랜덤 검색 등을 사용하여 업데이트될 수 있으며, 이에 제한되지 않는다.
베이지안 최적화 알고리즘은 본 출원의 일부 실시 예에서 예로서 사용된다. 이전 n개 포인트(point)의 사후 확률 분포(posterior probability distribution)는 기존 샘플 포인트에 대해 가우시안(Gaussian) 프로세스 회귀(하이퍼파라미터가 조인트 가우시안 분포(joint Gaussian distribution)를 충족한다고 가정)를 통해 계산되고, 각 데이터 포인트에서 각 하이퍼파라미터의 예상 평균(expected mean) 및 예상 분산(expected variance)을 획득한다. 평균은 포인트의 최종 예상 효과(final expected effect)를 나타낸다. 평균이 클수록 모델의 최종 인덱스가 더 크다는 것을 나타낸다. 분산은 포인트 효과의 불확실성을 나타낸다. 분산이 클수록 대응하는 포인트에서 최대 값을 획득할 수 있는지에 대한 불확실성을 탐색해야(explore) 할 필요성이 높아짐을 지시한다. NNI(Neural Network Intelligence) 기계 학습 패키지에서 제공되는 베이지안 최적화 알고리즘을 사용할 수 있으나, 이에 제한되지는 않는다. 도 8은 본 출원의 실시 예에 따른 베이지안 최적화 알고리즘에서 구성된 신경망 검색 공간의 정의 파일(definition file)을 나타낸다. 신경망의 구조적 파라미터 그룹은 도 8에 도시된 정의 파일에 따라 베이지안 최적화 알고리즘에 의해 추천된다. 예를 들어, Layer2/Layer4/Layer6/Layer8의 콘볼루션 커널 크기(즉, 콘볼루션 커널의 크기)는 각각 [16, 16, 64, 128]이고, Layer3/Layer5/Layer7/Layer9에서의 블록 B의 반복 수량은 각각 [2, 3, 5, 4]이다. 서버는 두 그룹의 파라미터를 사용하여 대응하는 신경망을 생성한다.
본 출원의 이 실시 예에서, 구조 계층은 제1 잔차 네트워크 및 제2 잔차 네트워크를 포함한다. 제1 하이퍼파라미터는 제1 잔차 네트워크에 포함된 콘볼루션 커널 중 제1 콘볼루션 커널의 콘볼루션 커널 크기를 포함한다. 제2 하이퍼파라미터는 연쇄 연결된 제2 잔차 네트워크의 수량을 포함한다. 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하는 것은, 다음 단계를 포함한다.
S1: 제3 하이퍼파라미터 값 서브 세트로부터 제1 잔차 네트워크에서의 제1 콘볼루션 커널의 콘볼루션 커널 크기를 타깃 콘볼루션 커널 크기 값으로 결정한다.
S2: 제4 하이퍼파라미터 값 서브 세트로부터, 연쇄 연결된 제2 잔차 네트워크의 수량을 타깃 수량으로 결정하고, 하이퍼파라미터 값 세트는 제3 하이퍼파라미터 값 서브 세트와 제4 하이퍼파라미터 값 서브 세트를 포함한다.
본 출원의 이 실시 예에서, 검색 공간은 추상화된 ResNet50 네트워크 아키텍처에 따라 Layer2에서 Layer9까지의 범위로 축소될 수 있다. Layer1 및 Layer10은 탐색할 필요가 없다. 또한, 네트워크의 콘볼루션 커널 크기가 네트워크의 실행 성능 및 정확도에 영향을 미치는 핵심(key)임을 알 수 있으며, 따라서, 블록 A의 구조에 대해 콘볼루션 커널의 크기만 탐색하는 것이 허용된다. 반복되는 구조의 수량은 주로 블록 B에 대해 탐색된다. 검색 공간은 다음의 방식으로 결정될 수 있다.
Layer2, Layer4, Layer6 또는 Layer8의 경우, 제1 콘볼루션 커널의 크기가 후속 콘볼루션 커널의 크기에 영향을 미치기 때문에, 제1 콘볼루션 계층의 콘볼루션 커널 크기를 검색한다. 예를 들어, 블록 A 구조를 Layer2에 대해 사용하면, Layer2의 제1 콘볼루션 계층의 콘볼루션 커널 크기를 탐색할 수 있으며, ResNet50에서 사용하는 기본 값(default value)은 1×1×64×64이고, 마지막 값을 탐색할 수 있으며, 검색 공간은 [16, 32, 64, 128]일 수 있다(이는 전술한 제1 하이퍼파라미터 값 서브 세트와 동일함). 따라서, Layer2의 제1 콘볼루션 계층의 콘볼루션 커널에 대해 다음 조합: 1×1×64×16, 1×1×64×32, 1×1×64×64 및 1×1×64×128이 있다. 유사하게, 4개의 서로 다른 정수 파라미터가 다른 계층에 있는 콘볼루션 커널의 파라미터에 대한 탐색 항목(item)으로 사용될 수도 있다.
Layer3, Layer5, Layer7, Layer9의 4개의 계층은 블록 B의 반복이기 때문에, 각 계층에 대해 블록 B의 적절한 반복 횟수를 탐색할 수 있다. 예를 들어, Layer3의 경우, ResNet50에서, 블록 B 구조가 기본적으로 1회 반복되며, 검색 공간은 [1, 2, 3, 4, 5, 6, 7](이는 전술한 제2 하이퍼파라미터 값 서브 세트와 동등함)으로 정의될 수 있다. 이후의 Layer5, Layer7 또는 Layer9의 경우, 검색 공간도 [1, 2, 3, 4, 5, 6, 7]로 설정될 수 있다.
본 출원의 이 실시 예에서, 전술한 검색 공간의 정의에 따르면, 전체 검색 공간의 범위는 약 44×74 = 614,656이다. 신규 신경망 아키텍처를 검색할 때 종종 수십억 개의 값을 포함하는 검색 공간에 비해 검색 공간이 4배 감소하여 하드웨어 비용이 크게 절감된다.
본 출원의 이 실시 예에서, 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도를 획득하는 것은 다음 단계를 포함한다:
S1: 타깃 애플리케이션으로부터 획득된 제1 훈련 샘플 세트를 사용하여 제1 신경망 모델을 훈련하여, 제2 신경망 모델을 획득한다.
S2: 제2 신경망 모델을 사용하여, 타깃 애플리케이션으로부터 획득된 검증 샘플 세트에서의 각 검증 샘플을 검출하여, 검증 샘플 세트에서의 각 검증 샘플에 대응하는 검출 결과를 획득하며, 검증 샘플 세트는 타깃 애플리케이션으로부터 획득된 복수의 검증 샘플 및 각 검증 샘플에 대응하는 타깃 검출 결과를 포함한다.
S3: 복수의 검증 샘플의 총 수량 중 매칭 수량(quantity of matches)의 비율을 제1 모델 정확도로 결정하고, 매칭 수량은 검증 샘플에 대응하는 검출 결과가 검증 샘플에 대응하는 타깃 검출 결과 매칭하는 검증 샘플의 수량을 지시하는 데 사용된다.
본 출원의 본 실시 예에서, 베이지안 최적화 알고리즘에서 신경망의 평가 값(즉, 모델의 정확도)이 필요하므로, 평가 값을 기반으로 최적화된 신경망 아키텍처를 지속적으로 생성할 수 있다. 신경망이 요건을 충족하는지는 평가 값을 통해 판정될 수 있다. 먼저, 일부 훈련 샘플은 신경망 아키텍처 검색 평가를 위해 훈련 샘플에서 나눠진다. 둘째, 일부 훈련 샘플은 추가로, 훈련 세트와 검증 세트로 나뉠 수 있다. 생성된 모든 신경망 모델에 대해 훈련 세트를 기반으로 감독(supervised) 학습 훈련을 수행하고, 그 다음에 검증 세트를 기반으로 모델의 정확도를 획득한다. 정확도는 신경망 아키텍처의 평가 값으로 사용된다. 베이지안 최적화 알고리즘에서, 신경망 아키텍처가 생성된 후 신경망 아키텍처의 평가 값을 수신한다. 그런 다음 베이지안 최적화 알고리즘에서, 평가 값을 기반으로, 업데이트된 신경망 아키텍처가 생성된다.
본 출원의 이 실시 예에서, 제1 신경망 모델의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하는 단계 이후에, 상기 방법은 다음 단계를 더 포함한다:
S1: 타깃 애플리케이션으로부터 획득된 제2 훈련 샘플 세트를 사용하여 제3 신경망 모델을 훈련하여 제4 신경망 모델을 획득한다.
본 출원의 이 실시 예에서 타깃 애플리케이션은 게임 애플리케이션일 수 있다. 이 경우에, 제2 훈련 샘플 세트는 실제 플레이어가 게임을 하기 위해 게임 역할을 제어할 때 생성되는 장면 데이터와 실제 플레이어의 작동 데이터를 포함한다. 장면 데이터는 장면의 크기, 실제 플레이어가 제어하는 게임 역할의 위치, 실제 플레이어가 제어하는 게임 역할과 싸우는 게임 역할의 위치, 실제 플레이어의 각 스킬의 현재 쿨다운 시간 등을 포함한다. 작동 데이터는 스킬 사용 모드, 조이스틱이 움직이는 각도, 실제 플레이어가 제어하는 게임 역할의 점프 여부 등을 포함한다.
단계 S1의 구현 중에, 제2 훈련 샘플 세트에 포함된 장면 데이터를 입력으로 사용하고 제2 훈련 샘플 세트에 포함된 작동 데이터를 출력으로 사용하여 제3 신경망 모델을 훈련시킨다.
제3 신경망 모델이 학습될 때, 장면 데이터에 대응하는 입력, 작동 데이터에 대응하는 출력, 제3 신경망 모델 파라미터를 포함하는 손실 함수가 초기화된다. 제2 훈련 샘플 세트의 장면 데이터는 예측된 작동 데이터를 획득하기 위해 제3 신경망 모델의 각 반복 훈련 프로세스에서 제3 신경망 모델에 입력된다. 또한, 학습 샘플 세트로부터 선택된 작동 데이터와 예측 작동 데이터를 손실 함수로 대체하여, 손실 함수의 최소값을 획득한 경우에 대응하는 제3 신경망 모델 파라미터를 해결할 수 있다. 제3 신경망 모델은 해결된 제3 신경망 모델 파라미터에 따라 업데이트된다.
S2: 제4 신경망 모델을 사용하여 타깃 애플리케이션에서 검출 대상 데이터(to-be-detected data)를 검출한다.
본 출원의 이 실시 예에서, 생성된 제3 신경망 모델은 타깃 애플리케이션에서 데이터를 검출하도록 구성될 수 있으며, 예를 들어 이미지 검출, 이미지 분할(image segmentation) 및 모방 학습과 같은 태스크를 수행할 수 있지만, 본 출원은 이에 제한되지 않는다.
본 출원의 이 실시 예에서, 입력 계층은 콘볼루션 계층, 배치 정규화 계층 및 활성화 계층을 포함하고, 출력 계층은 완전 연결 계층 및 손실 함수 계층을 포함하며, 구조 계층은 제1 잔차 네트워크의 4개의 계층 및 제2 잔차 네트워크의 4개의 계층을 포함한다. 제1 신경망 모델은 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 타깃 연결 방식으로 연결하여 획득된 신경망 모델이며, 타깃 연결 방식은 다음:
입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 연쇄 연결 방식으로 연결하여 제1 신경망 모델을 획득하는 것을 포함한다. 콘볼루션 계층, 배치 정규화 계층 및 활성화 계층이 연쇄 연결된다. 완전 연결 계층과 손실 함수 계층이 연쇄 연결된다. 제1 잔차 네트워크의 제1 계층, 제2 잔차 네트워크의 제1 계층, 제1 잔차 네트워크의 제2 계층, 제2 잔차 네트워크의 제2 계층, 제1 잔차 네트워크의 제3 계층, 제2 잔차 네트워크의 제3 계층, 제1 잔차 네트워크의 제4 계층과 제2 잔차 네트워크의 제4 계층이 연쇄 연결된다. 구조 계층의 하이퍼파라미터 값은, 제1 잔차 네트워크의 4개의 계층에서 제1 잔차 네트워크의 각 계층의 콘볼루션 커널 크기 및 제2 잔차 네트워크의 4개의 계층에서 각 계층에서 연쇄 연결된 제2 잔차 네트워크의 수량을 포함한다.
본 출원의 이 실시 예에서, ResNet50의 전술한 네트워크 아키텍처에서, 입력 계층 Layer1은 ResNet50의 제1 콘볼루션 계층 입력이고, 그리고 콘볼루션 계층, 배치 정규화 계층(BatchNormalization 계층) 및 활성화 계층을 포함할 수 있다. 출력 계층 Layer10은 완전 연결 계층과 손실 함수 계층(softmax layer)을 포함할 수 있다.
본 출원의 이 실시 예에서, 구조 계층은 제1 잔차 네트워크의 제1 계층 Layer2, 제2 잔차 네트워크의 제1 계층 Layer3, 제1 잔차 네트워크의 제2 계층 Layer4, 제2 잔차 네트워크의 제2 계층 Layer5, 제1 잔차 네트워크의 제3 계층 Layer6, 제2 잔차 네트워크의 제3 계층 Layer7, 제1 잔차 네트워크의 제4 계층 Layer8, 및 제2 잔차 네트워크의 제4 계층 Layer9을 포함한다.
설명의 편의를 위해, 전술한 방법 실시 예는 일련의 동작(action) 조합으로 표현되었지만, 당업자라면 본 출원의 실시 예에 따라 일부 단계가 다른 시퀀스로 또는 동시에 수행될 수 있기 때문에, 본 출원의 실시 예는 설명된 동작 시퀀스에 제한되지 않음을 알게 될 것이다. 또한, 당업자는 명세서에 설명된 실시 예의 관련 동작 및 모듈이 본 출원의 실시 예에 반드시 필수적인 것은 아니라는 것을 알게 될 것이다.
전술한 구현에 대한 설명을 통해 당업자는 전술한 실시 예에 따른 방법이 소프트웨어 및 필요한 일반 하드웨어 플랫폼을 통해 구현될 수 있으며, 물론 하드웨어로 구현될 수도 있음을 명확하게 이해할 수 있지만, 대부분의 경우 전자 방식이 더 나은 구현이다. 이러한 이해에 기반하여, 본 출원의 실시 예의 기술적 솔루션, 또는 관련 기술에 기여하는 부분, 또는 기술적 솔루션의 전부 또는 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체(예: 읽기 전용 메모리(read-only memory, ROM)/랜덤 액세스 메모리(random access memory, RAM), 자기 디스크 또는 광 디스크)에 저장되며, 단말 디바이스(이는 모바일 폰, 컴퓨터, 서버, 네트워크 디바이스 등 일 수 있음)에게 본 출원의 실시 예에서 설명된 방법을 수행하도록 명령하기 위한 여러 명령을 포함한다.
본 출원의 실시 예들의 다른 측면에 따르면, 신경망 모델을 생성하는 방법을 구현하도록 구성된 신경망 모델을 생성하는 장치가 더 제공된다. 도 9에 도시된 바와 같이, 상기 장치는 다음:
하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하도록 구성된 결정 모듈(82) - 제1 신경망 모델은 적어도 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 타깃 연결 방식으로 연결하는 것에 의해 획득된 신경망 모델임 -;
제1 신경망 모델을 훈련하는 것에 의해 획득한 제2 신경망 모델의 제1 모델 정확도를 획득하도록 구성된 획득 모듈(84) - 제1 모델 정확도는 제2 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 정확도를 지시하는 데 사용됨 -; 및
제1 모델 정확도가 타깃 정확도보다 낮은 경우에, 제1 신경망 모델의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망을 획득하도록 구성된 업데이트 모듈(86) - 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 타깃 정확도보다 높거나 같고, 제4 신경망 모델은 제3 신경망 모델을 훈련하는 것에 의해 획득됨 - 을 포함한다.
본 출원의 일부 실시 예에서, 구조 계층은 제1 잔차 네트워크 및 제2 잔차 네트워크를 포함하고, 결정 모듈은,
제1 하이퍼파라미터 값 서브 세트로부터 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하도록 구성된 제1 결정 유닛 - 제1 잔차 네트워크의 복수의 하이퍼파라미터는 제1 하이퍼파라미터를 포함함 -; 및
제2 하이퍼파라미터 값 서브 세트로부터 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하도록 구성된 제2 결정 유닛 - 제2 잔차 네트워크의 복수의 하이퍼파라미터는 제2 하이퍼파라미터를 포함하고, 하이퍼파라미터 값 세트는 제1 하이퍼파라미터 값 서브 세트 및 제2 하이퍼파라미터 값 서브 세트를 포함함 - 을 포함한다.
본 출원의 일부 실시 예에서, 구조 계층은 복수의 제1 잔차 네트워크 및 복수의 제2 잔차 네트워크를 포함하고, 하이퍼파라미터 값 세트는 복수의 제1 하이퍼파라미터 값 서브 세트 및 복수의 제2 하이퍼파라미터 값 서브 세트를 포함하며, 복수의 제1 잔차 네트워크는 복수의 제1 하이퍼파라미터 값 서브 세트와 일대일 대응 관계에 있고, 복수의 제2 잔차 네트워크는 복수의 제2 하이퍼파라미터 값 서브 세트와 일대일 대응 관계에 있다.
제1 결정 유닛은 복수의 제1 하이퍼파라미터 값 서브 세트에서 각각의 제1 하이퍼파라미터 값 서브 세트로부터 타깃 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하도록 구성되며, 타깃 제1 잔차 네트워크는 각각의 제1 하이퍼파라미터 값 서브 세트에 대응하는 제1 잔차 네트워크이다.
제2 결정 유닛은 복수의 제2 하이퍼파라미터 값 서브 세트에서 각각의 제2 하이퍼파라미터 값 서브 세트로부터 타깃 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하도록 구성되며, 타깃 제2 잔차 네트워크는 각각의 제2 하이퍼파라미터 값 서브 세트에 대응하는 제2 잔차 네트워크이다.
본 출원의 일부 실시 예에서, 업데이트 모듈은,
일부 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 일부 제1 잔차 네트워크에 대응하는 제3 하이퍼파라미터 값으로 업데이트하도록 구성된 제1 업데이트 유닛 - 제3 하이퍼파라미터 값은 제1 하이퍼파라미터 값 서브 세트의 하이퍼파라미터 값임 -; 및
일부 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 일부 제2 잔차 네트워크에 대응하는 제4 하이퍼파라미터 값으로 업데이트하도록 구성된 제2 업데이트 유닛 - 제4 하이퍼파라미터 값은 제2 하이퍼파라미터 값 서브 세트의 하이퍼파라미터 값임 - 중 적어도 하나를 포함한다.
본 출원의 일부 실시 예에서, 구조 계층은 제1 잔차 네트워크 및 제2 잔차 네트워크를 포함한다. 제1 하이퍼파라미터는 제1 잔차 네트워크에 포함된 콘볼루션 커널 중 제1 콘볼루션 커널의 콘볼루션 커널 크기를 포함하고, 제2 하이퍼파라미터는 연쇄 연결된 제2 잔차 네트워크의 수량을 포함한다. 결정 모듈은,
제3 하이퍼파라미터 값 서브 세트로부터 제1 잔차 네트워크에서의 제1 콘볼루션 커널의 콘볼루션 커널 크기를 타깃 콘볼루션 커널 크기 값으로서 결정하도록 구성된 제3 결정 유닛; 및
제4 하이퍼파라미터 값 서브 세트로부터 연쇄 연결된 제2 잔차 네트워크의 수량을 타깃 수량으로서 결정하도록 구성된 제4 결정 유닛 - 하이퍼파라미터 값 세트는 제3 하이퍼파라미터 값 서브 세트 및 제4 하이퍼파라미터 값 서브 세트를 포함함 - 을 포함한다.
본 출원의 일부 실시 예에서, 획득 모듈,
타깃 애플리케이션으로부터 획득된 제1 훈련 샘플 세트를 사용하여 제1 신경망 모델을 훈련하여 제2 신경망 모델을 획득하도록 구성된 훈련 유닛;
제2 신경망 모델을 사용하여 타깃 애플리케이션으로부터 획득된 검증 샘플 세트의 각 검증 샘플을 검출하여 검증 샘플 세트의 각 검증 샘플에 대응하는 검출 결과를 획득하도록 구성된 검출 유닛 - 검증 샘플 세트는 타깃 애플리케이션으로부터 획득된 복수의 검증 샘플 및 각 검증 샘플에 대응하는 타깃 검출 결과를 포함함 -; 및
복수의 검증 샘플의 총 수량 중 매칭 수량의 비율을 제1 모델 정확도로 결정하도록 구성된 제5 결정 유닛 - 매칭 수량은 검증 샘플에 대응하는 검출 결과가 검증 샘플에 대응하는 타깃 검출 결과와 매칭하는 검증 샘플의 수량을 지시하는 데 사용됨 - 을 포함한다.
본 출원의 일부 실시 예에서, 상기 장치는,
제1 신경망 모델의 일부 하이퍼파라미터의 하이퍼파라미터 값이 하이퍼파라미터 값 세트의 대응하는 타깃 하이퍼파라미터 값으로 업데이트되어 제3 신경망 모델을 획득한 후, 타깃 애플리케이션으로부터 획득된 제2 훈련 샘플 세트를 사용하여 제3 신경망 모델을 훈련하여 제4 신경망 모델을 획득하도록 구성된 훈련 모듈; 및
제4 신경망 모델을 사용하여 타깃 애플리케이션에서 검출 대상 데이터를 검출하도록 구성된 검출 모듈을 더 포함한다.
본 출원의 일부 실시 예에서, 제2 훈련 샘플 세트는 장면 데이터 및 장면 데이터에 대응하는 작동 데이터를 포함한다. 이에 대응하여, 훈련 모듈은,
입력 계층, 출력 계층, 구조 계층 및 제3 신경망 모델 파라미터를 포함하는 손실 함수를 초기화하도록 구성된 초기화 유닛;
제3 신경망 모델의 각 반복적 훈련 프로세스에서 제2 훈련 샘플 세트의 장면 데이터를 제3 신경망 모델에 입력하여 예측된 작동 데이터를 획득하도록 구성된 입력 유닛;
훈련 샘플 세트로부터 선택된 작동 데이터 및 예측된 작동 데이터를 손실 함수로 대체하여, 손실 함수의 최소값이 획득된 경우에 대응하는 제3 신경망 모델 파라미터를 해결하도록 구성된 손실 함수 최소화 유닛; 및
해결된 제3 신경망 모델 파라미터에 따라 제3 신경망 모델을 업데이트하여 제4 신경망 모델을 획득하도록 구성된 업데이트 유닛을 포함한다.
본 출원의 일부 실시 예에서, 입력 계층은 콘볼루션 계층, 배치 정규화 계층 및 활성화 계층을 포함하고, 출력 계층은 완전 연결 계층 및 손실 함수 계층을 포함하며, 구조 계층은 제1 잔차 네트워크의 4개의 계층 및 제2 잔차 네트워크의 4개의 계층을 포함한다. 제1 신경망 모델은 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 타깃 연결 방식으로 연결하여 획득된 신경망 모델이며, 타깃 연결 방식은,
콘볼루션 계층, 배치 정규화 계층 및 활성화 계층을 연쇄 연결하여 입력 계층을 획득하는 단계;
완전 연결 계층과 손실 함수 계층을 연쇄 연결하여 출력 계층을 획득하는 단계;
제1 잔차 네트워크의 제1 계층, 제2 잔차 네트워크의 제1 계층, 제1 잔차 네트워크의 제2 계층, 제2 잔차 네트워크의 제2 계층, 제1 잔차 네트워크의 제3 계층, 제2 잔차 네트워크의 제3 계층, 제1 잔차 네트워크의 제4 계층, 및 제2 잔차 네트워크의 제4 계층을 연쇄 연결하여 구조 계층을 획득하는 단계 - 구조 계층의 하이퍼파라미터 값은 제1 잔차 네트워크의 4개의 계층에서 제1 잔차 네트워크의 각 계층의 콘볼루션 커널 크기 및 제2 잔차 네트워크의 4개의 계층의 각 계층에서 연쇄 연결된 제2 잔차 네트워크의 수량을 포함함 -; 및
입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 연쇄 연결 방식으로 연결하여 제1 신경망 모델을 획득하는 단계를 포함한다.
본 출원의 이 실시 예에서의 애플리케이션 환경에 대해서는, 전술한 실시 예의 애플리케이션 환경을 참조하지만 이에 제한되지 않는다. 본 출원의 이 실시 예는 신경망 모델을 생성하는 방법을 구현하기 위한 애플리케이션 예를 제공한다.
심층 학습(Deep learning)은 게임 AI 분야에 널리 적용된다. 잘 알려진 심층 강화 학습(deep reinforcement learning) 외에도 모방 학습은 게임 AI 분야에도 널리 적용된다. 모방 학습의 액션 복제 방식(action cloning manner)으로, 인간 전문가의 기록된 게임 액션 전략을 학습하고, 기계 학습 모델은 현재 직면한 상황과 전문가의 저장된 행동을 매칭하여 전문가에 의해 이루어진 액션을 모방하여 상황을 처리한다.
종래에는 게임마다 개발자가 특정 게임의 신경망 아키텍처를 설계해야 했다. 신경망 모델을 생성하는 방법은 타깃 게임 애플리케이션의 모방 학습 시나리오에 적용할 수 있는 신경망 모델 생성에 적용될 수 있으나 이에 제한되지 않는다. 이 시나리오에서, 휴리스틱 알고리즘(heuristic algorithm)과 베이지안 최적화 알고리즘을 조합하여 신경망 아키텍처의 자동 탐색을 달성하기 위해 특정 게임에 대한 신경망 모델을 생성하는 방법을 제공한다. 개발자는 동시 컴퓨팅 리소스(concurrent computing resource)로 대체하여 서로 다른 신경망 아키텍처를 빠르게 탐색하는 것을 달성하고, 특정 게임에 적합한 최적화된 아키텍처를 찾을 수 있다. 신경망 아키텍처의 탐색을 통해 자동차 경주 게임 및 1인칭 슈팅 게임과 같은 서로 다른 게임에 대해 서로 다른 모방 학습의 신경망 아키텍처를 사용하여 더 나은 액션 효과를 획득할 수 있다.
도 10에 도시된 바와 같이, 전술한 신경망 모델 생성 프로세스는 다음 단계를 포함한다.
단계 S901: 먼저 모방 학습에 사용되는 심층 신경망의 검색 공간을 결정한다.
신경망의 검색 공간은 검색을 통해 찾을 수 있는 신경망의 유형을 정의하고 신경망 아키텍처를 설명하는 방법도 정의한다. 신경망에 의해 구현된 계산은 격리된 노드 없이 방향성 비순환 그래프(directed acyclic graph, DAG)로 추상화될 수 있다. 그래프의 노드는 신경망의 계층을 나타내고, 에지(edge)는 데이터 흐름을 나타낸다. 각 노드는 선행 노드(predecessor node)(들어오는(incoming) 에지 포함)에서 데이터를 수신하고, 계산 후 데이터를 후속 노드(successor node)(나가는(outcoming) 에지 포함)로 출력한다. 이론적으로, 격리된 노드가 없는 DAG는 합법적인 신경망 아키텍처이다.
간단한 그래프 구조에서 모든 DAG에 이르기까지 전체 신경망 아키텍처의 개발도 반영된다. 가장 단순한 신경망은 선형 체인 구조이며, 신경망에 대응하는 그래프의 각 노드는 데이터 구조의 링크된 리스트와 유사한 최대 하나의 선행 노드와 하나의 후속 노드를 가진다. 초기 완전 연결 신경망과 콘볼루션 신경망은 모두 이러한 토폴로지(topology)에 있다. Inception, ResNet 및 DenseNet의 노드는 더 복잡한 그래프를 포함하여 다중 분기(multi-branch), 교차 계층 연결 구조(cross-layer connected structure)를 형성하기 위해 복수의 선행 노드와 복수의 후속 노드를 가질 수 있다. 신경망 아키텍처에서, 첫 번째 계층이 입력 계층이어야 하고 마지막 계층이 출력 계층이어야 한다는 점을 제외하고는, 중간 계층의 유형은 선택적이며, 서로 다른 작동의 유형, 즉 계층을 나타낸다. 전형적인 예로는, 완전 연결 계층, 콘볼루션 계층, 디콘볼루션 계층(deconvolutional layer), 아트루스(atrous) 콘볼루션 계층, 풀링 계층(pooling layer), 활성화 함수 계층 등이 있다.
단계 S902: 신경망 아키텍처의 검색 공간에서 베이지안 최적화 알고리즘을 실행하여 신경망 아키텍처를 획득한다.
신경망 아키텍처의 검색 공간을 기반으로 0부터 신경망을 완전히 탐색하면, 검색 공간이 매우 크고, 특정 게임에 적합한 신경망 아키텍처를 찾기 위해 엄청난 양의 하드웨어 리소스가 소비되어야 한다. 이 방법은 인력 투자를 절약할 수 있지만 이 방법은 엄청난 양의 하드웨어 리소스를 소비하고 시간이 많이 소요된다. 따라서 본 출원의 본 실시 예에서는 신경망 아키텍처의 기반으로 ResNet50을 사용하고, 이를 기반으로 베이지안 최적화 알고리즘을 사용하여 각 게임에 적합한 신경망 아키텍처를 탐색한다.
단계 S903: 단계 S902에서 생성된 신경망 아키텍처에 대한 검증을 수행하여 네트워크의 정확도의 평가 값을 획득한다.
단계 S904: 네트워크의 평가 결과가 요건을 충족하는지 확인하고, 결과가 요건을 충족하지 않으면 단계 S902 내지 S904를 수행한다.
단계 S905: 요건을 충족하는 신경망 아키텍처를 획득한 후, 신경망 아키텍처를 모방 학습의 훈련 프로그램으로 전송한다.
단계 S906: 모방 학습 훈련 프로그램은 신경망 아키텍처를 사용하여 훈련을 수행하여, 특정 게임의 AI 모델을 획득한다.
본 출원의 이 실시 예에서, 전술한 프로세스에서 검색을 통해 특정 게임의 요건을 충족하는 신경망 아키텍처를 찾아내는 것이 도 11에 도시되어 있다. 네트워크 아키텍처와 원래 ResNet50의 가장 큰 차이점은 Layer5, Layer7 및 Layer9에서 블록 B의 반복 횟수가 어느 정도 줄어들어 네트워크 가중치 파일의 크기를 줄일 수 있다는 장점이 있으며, 컴퓨팅 리소스 비용이 절감된다는 것이다. 또한, Layer2의 콘볼루션 커널 크기도 원래 크기와 상이하다(도면에 도시되지 않음). Layer2의 콘볼루션 커널은 원래의 1×1×64×64에서 1×1×64×32로 변경되어 콘볼루션 커널 크기도 절반으로 줄어들어 계산 효율성도 향상될 수 있음을 알 수 있다.
전술한 프로세스를 통해 게임 요건에 따라 서로 다른 모방 학습 네트워크를 생성할 수 있으며, 자동 신경망 아키텍처 검색 알고리즘을 사용하여 신경망 아키텍처를 설계한다. 이러한 방식으로, 모방 학습의 AI 사용자는 심층 학습 모델의 세부 사항에 대한 깊은 이해 없이 비교적 우수한 신경망 모델을 획득할 수 있다. 또한, 신경망 아키텍처를 동시에 탐색하기 위해 복수의 서버를 사용할 수 있으며, 이를 통해 수동 탐색에 비해 특정 게임에 최적화된 네트워크 아키텍처를 찾기 위해 서로 다른 신경망 아키텍처를 더 빠르게 탐색할 수 있다. 반면, 베이지안 최적화 알고리즘을 사용하면 탐색된 신경망 아키텍처의 사전 정보를 사용하여 더 나은 신경망 아키텍처 세트를 생성할 수 있으며, 이는 무작위 검색 및 그리드(grid) 검색보다 더 효율적이다. ResNet50은 신경망 아키텍처 검색의 기반으로 사용되며 서로 다른 모듈(블록)로 추상화되며, 알고리즘을 사용하여 서로 다른 블록 간의 조합 및 입력을 탐색하여 검색 공간을 줄이고 검색 효율성을 크게 향상시킨다.
본 출원의 실시 예들의 또 다른 측면에 따르면, 신경망 모델 생성을 위한 전술한 방법을 구현하도록 구성된 전자 디바이스가 더 제공된다. 도 12에 도시된 바와 같이, 전자 디바이스는 하나 이상의 프로세서(1102) (도면에는 하나만 도시됨), 메모리(1104), 센서(1106), 인코더(1108) 및 송신 장치(1110)를 포함하며, 메모리는 컴퓨터 프로그램을 저장하고, 프로세서는 컴퓨터 프로그램을 사용하여 전술한 방법 실시 예 중 어느 하나의 단계를 수행하도록 구성된다.
본 출원의 이 실시 예에서, 전자 디바이스는 컴퓨터 네트워크에서 복수의 네트워크 디바이스 중 적어도 하나에 위치될 수 있다.
본 출원의 이 실시 예에서, 프로세서는 컴퓨터 프로그램을 사용하여 다음 단계를 수행하도록 구성될 수 있다:
S1: 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하며, 제1 신경망 모델은 적어도 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 타깃 연결 방식으로 연결하는 것에 의해 획득된 신경망 모델이다.
S2: 제1 신경망 모델을 학습하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도를 획득하며, 제1 모델 정확도는 제2 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 정확도를 지시하는 데 사용된다.
S3: 제1 모델 정확도가 타깃 정확도보다 낮은 경우에 제1 신경망 모델의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하며, 제3 신경망 모델을 훈련하는 것에 의해 획득된 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 타깃 정확도보다 높거나 같다.
당업자라면, 도 12에 도시된 구조가 단지 개략적이라는 것을 이해할 수 있을 것이다. 전자 디바이스는 스마트 폰(예: 안드로이드 휴대폰 또는 iOS 휴대폰), 태블릿 컴퓨터, 팜탑(palmtop) 컴퓨터, MID(Mobile Internet Device) 또는 PAD와 같은 단말 디바이스일 수 있다. 도 12는 전자 디바이스의 구조에 대한 제한을 구성하지 않는다. 예를 들어, 전자 디바이스는 다르게는, 도 12에 도시된 것보다 더 많거나 적은 구성 요소(예: 네트워크 인터페이스 및 디스플레이 디바이스)를 포함할 수 있거나, 또는 도 12에 도시된 것과 다른 구성을 갖는다.
메모리(1104)는 소프트웨어 프로그램 및 모듈, 예를 들어 본 출원의 실시 예에서의 신경망 모델을 생성하는 방법에 대응하는 프로그램 명령/모듈을 저장하도록 구성될 수 있다. 프로세서(1102)는 메모리(1104)에 저장된 소프트웨어 프로그램 및 모듈을 실행하여 다양한 기능적 애플리케이션 및 데이터 처리를 수행하며, 즉, 신경망 모델을 생성하는 전술한 방법을 구현한다. 메모리(1104)는 고속 랜덤 메모리를 포함할 수 있으며, 또한 비 휘발성 메모리, 예를 들어, 하나 이상의 자기 저장 장치, 플래시 메모리 또는 다른 비 휘발성 솔리드 스테이트 메모리를 포함할 수 있다. 일부 실시 예에서, 메모리(1104)는 프로세서(1102)에 대해 원격 배치된 메모리를 더 포함할 수 있고, 원격 메모리는 네트워크를 통해 단말에 연결될 수 있다. 네트워크의 예는 인터넷, 인트라넷, 근거리 통신망, 이동 통신 네트워크 및 이들의 조합을 포함하지만, 이에 제한되지 않는다.
송신 장치(1110)는 네트워크를 통해 데이터를 수신 또는 송신하도록 구성된다. 전술한 네트워크의 예는 유선 네트워크 및 무선 네트워크를 포함할 수 있다. 일 예에서, 송신 장치(1110)는 NIC(Network Interface Controller)를 포함한다. NIC는 네트워크 케이블을 사용하여 다른 네트워크 디바이스 및 라우터에 연결되어 인터넷 또는 근거리 통신망과 통신할 수 있다. 일 예에서, 송신 장치(1110)는 무선 방식으로 인터넷과 통신하도록 구성된 무선 주파수(radio frequency, RF) 모듈이다.
메모리(1104)는 애플리케이션 프로그램을 저장하도록 구성된다.
본 출원의 실시 예는 컴퓨터 프로그램을 저장하는 저장 매체를 더 제공하며, 컴퓨터 프로그램은 실행될 때 전술한 방법 실시 예 중 어느 하나의 단계를 수행하는데 사용된다.
본 출원의 이 실시 예에서, 저장 매체는 다음 단계를 수행하도록 구성된 컴퓨터 프로그램을 저장하도록 구성될 수 있다:
S1: 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하며, 제1 신경망 모델은 적어도 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 타깃 연결 방식으로 연결하는 것에 의해 획득된 신경망 모델이다.
S2: 제1 신경망 모델을 학습하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도를 획득하며, 제1 모델 정확도는 제2 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 정확도를 지시하는 데 사용된다.
S3: 제1 모델 정확도가 타깃 정확도보다 낮은 경우에 제1 신경망 모델의 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하며, 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 타깃 정확도보다 높거나 같으며, 제4 신경망 모델은 제3 신경망 모델을 훈련하는 것에 의해 획득된다.
본 출원의 일부 실시 예에서, 저장 매체는 추가로, 전술한 실시 예에 따른 방법에 포함된 단계를 수행하도록 구성된 컴퓨터 프로그램을 저장하도록 구성된다.
본 출원의 이 실시 예에서, 당업자는 전술한 실시 예의 방법의 단계의 전부 또는 일부가 단말 디바이스의 관련 하드웨어를 명령하는 프로그램에 의해 구현될 수 있음을 이해할 수 있다. 프로그램은 컴퓨터가 판독 가능한 저장 매체에 저장될 수 있으며, 저장 매체는 플래시 디스크, ROM(read-only memory), RAM(random access memory), 자기 디스크(disk), 광 디스크(disc) 등을 포함할 수 있다.
본 출원의 전술한 실시 예들의 시퀀스 번호는 단지 설명을 위한 것이며, 실시 예들의 우선 순위를 나타내기 위한 것이 아니다.
전술한 실시 예들의 통합 유닛이 소프트웨어 기능 유닛의 형태로 구현되고 독립적인 제품으로 판매되거나 사용될 때, 통합 유닛은 전술한 컴퓨터가 판독 가능한 저장 매체에 저장될 수 있다. 이러한 이해에 기반하여, 본 출원의 실시 예의 기술적 솔루션, 또는 관련 기술에 기여하는 부분, 또는 기술적 솔루션의 전부 또는 일부는 소프트웨어 제품의 형태로 구현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되며 하나 이상의 컴퓨터 디바이스(개인용 컴퓨터, 서버, 네트워크 디바이스 등이 될 수 있음)에게 명령하는 몇 가지 명령을 포함하여, 본 출원의 실시 예에서 설명된 방법의 단계의 전부 또는 일부를 수행한다.
본 출원의 전술한 실시 예에서, 실시 예들의 설명은 각각의 포커스(focus)를 갖는다. 실시 예에서 상세하게 설명되지 않은 부분에 대해서는 다른 실시 예의 관련 설명을 참조할 수 있다.
본 출원에서 제공되는 여러 실시 예에서, 개시된 클라이언트는 다른 방식으로 구현될 수 있음을 이해해야 한다. 전술한 장치 실시 예는 단지 예시 일뿐이다. 예를 들어, 유닛의 분할은 논리 기능의 분할 일뿐이며 실제 구현 중에 다른 분할 방식을 사용할 수 있다. 예를 들어, 복수의 유닛 또는 구성 요소가 결합될 수 있거나, 다른 시스템에 통합될 수 있거나, 일부 특징이 생략되거나 수행되지 않을 수 있다. 추가로, 디스플레이되거나 논의된 구성 요소들 사이의 결합, 직접 결합, 또는 통신 연결은 일부 인터페이스, 유닛 또는 모듈을 통한 간접 결합 또는 통신 연결일 수 있고, 전기적 또는 다른 형태일 수 있다.
별도의 부품으로 설명된 유닛은 물리적으로 분리되거나 분리되지 않을 수 있다. 유닛으로 디스플레이되는 부분은 물리적 유닛일 수도 있고 아닐 수도 있고, 한 위치에 위치할 수도 있고, 복수의 네트워크 유닛에 분산될 수도 있다. 유닛의 일부 또는 전부는 본 출원의 실시 예의 솔루션의 목적을 달성하기 위해 실제 필요에 따라 선택될 수 있다.
또한, 본 출원의 실시 예의 기능 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 각각의 유닛이 물리적으로 분리될 수 있거나, 둘 이상의 유닛이 하나의 유닛으로 통합될 수 있다. 통합 유닛은 하드웨어의 형태로 구현될 수 있거나 소프트웨어 기능 유닛의 형태로 구현될 수 있다.
전술한 설명은 본 출원의 특정 구현이다. 당업자는 본 출원의 원리를 벗어나지 않고 몇 가지 개선(improvement) 및 수정(refinement)을 할 수 있으며, 개선 및 수정은 본 출원의 보호 범위 내에 속한다.
산업적 실용성(Industrial Practicability)
본 출원의 실시 예에서, 하이퍼파라미터 값 세트로부터 제1 신경망 모델의 하이퍼파라미터에 대응하는 하이퍼파라미터 값이 결정되고, 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도가 획득되며, 제1 모델 정확도가 타깃 정확도보다 낮은 경우 제1 신경망 모델에서 일부 하이퍼파라미터의 하이퍼파라미터 값을 하이퍼파라미터 값 세트에 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하며, 이에 따라 신경망 모델을 생성하는 효율성을 향상시키며, 추가로 신경망 모델 생성의 상대적으로 낮은 효율성이라는 기술적 문제를 해결한다.
Claims (16)
- 게임에 적용 가능한 신경망 모델을 생성하는 방법으로서,
상기 신경망 모델은 작동(operation)을 위해 게임에서 게임 엘리먼트를 제어하도록 구성되며, 상기 방법은 전자 디바이스에 적용 가능하며,
상기 방법은,
하이퍼파라미터(hyperparameter) 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하는 단계 - 상기 제1 신경망 모델은 입력 계층(layer), 하이퍼파라미터 값을 갖는 구조 계층(structural layer) 및 출력 계층을 포함하고, 상기 입력 계층과 상기 구조 계층과 상기 출력 계층이 타깃 연결 방식(target connection manner)으로 연결됨 -;
상기 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도(accuracy)를 획득하는 단계; 및
상기 제1 모델 정확도가 타깃 정확도보다 낮은 경우, 상기 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 상기 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하는 단계 - 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 상기 타깃 정확도보다 높거나 같으며, 상기 제4 신경망 모델은 상기 제3 신경망 모델을 훈련하는 것에 의해 획득됨 -
를 포함하는 방법. - 제1항에 있어서,
상기 구조 계층은 제1 잔차 네트워크(residual network) 및 제2 잔차 네트워크를 포함하고,
상기 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하는 단계는,
제1 하이퍼파라미터 값 서브 세트로부터 상기 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하는 단계 - 상기 제1 잔차 네트워크의 복수의 하이퍼파라미터는 상기 제1 하이퍼파라미터를 포함함 -; 및
제2 하이퍼파라미터 값 서브 세트로부터 상기 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하는 단계 - 상기 제2 잔차 네트워크의 복수의 하이퍼파라미터는 상기 제2 하이퍼파라미터를 포함하며, 상기 하이퍼파라미터 값 세트는 상기 제1 하이퍼파라미터 값 서브 세트 및 상기 제2 하이퍼파라미터 값 서브 세트를 포함함 -
를 포함하는, 방법. - 제2항에 있어서,
상기 구조 계층은 복수의 제1 잔차 네트워크 및 복수의 제2 잔차 네트워크를 포함하고, 상기 하이퍼파라미터 값 세트는 복수의 제1 하이퍼파라미터 값 서브 세트 및 복수의 제2 하이퍼파라미터 값 서브 세트를 포함하며, 상기 복수의 제1 잔차 네트워크는 상기 복수의 제1 하이퍼파라미터 값 서브 세트와 일대일 대응 관계에 있고, 상기 복수의 제2 잔차 네트워크는 상기 복수의 제2 하이퍼파라미터 값 서브 세트와 일대일 대응 관계에 있으며;
상기 제1 하이퍼파라미터 값 서브 세트로부터 상기 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하는 단계는,
상기 복수의 제1 하이퍼파라미터 값 서브 세트에서 각각의 제1 하이퍼파라미터 값 서브 세트로부터 타깃 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하는 단계 - 상기 타깃 제1 잔차 네트워크는 상기 각각의 제1 하이퍼파라미터 값 서브 세트에 대응하는 제1 잔차 네트워크임 -
를 포함하고,
상기 제2 하이퍼파라미터 값 서브 세트로부터 상기 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하는 단계는,
상기 복수의 제2 하이퍼파라미터 값 서브 세트에서 각각의 제2 하이퍼파라미터 값 서브 세트로부터 타깃 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하는 단계 - 상기 타깃 제2 잔차 네트워크는 상기 각각의 제2 하이퍼파라미터 값 서브 세트에 대응하는 제2 잔차 네트워크임 -
를 포함하는, 방법. - 제3항에 있어서,
상기 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 상기 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하는 것은,
일부 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 상기 일부 제1 잔차 네트워크에 대응하는 제3 하이퍼파라미터 값으로 업데이트하는 작동 - 상기 제3 하이퍼파라미터 값은 상기 제1 하이퍼파라미터 값 서브 세트에서의 하이퍼파라미터 값임 -; 및
일부 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 상기 일부 제2 잔차 네트워크에 대응하는 제4 하이퍼파라미터 값으로 업데이트하는 작동 - 상기 제4 하이퍼파라미터 값은 상기 제2 하이퍼파라미터 값 서브 세트에서의 하이퍼파라미터 값임 -
중 적어도 하나를 포함하는, 방법. - 제2항에 있어서,
상기 구조 계층은 제1 잔차 네트워크 및 제2 잔차 네트워크를 포함하고, 상기 제1 하이퍼파라미터는 상기 제1 잔차 네트워크에 포함된 콘볼루션 커널(convolution kernel) 중 제1 콘볼루션 커널의 콘볼루션 커널 크기를 포함하고, 상기 제2 하이퍼파라미터는 연쇄 연결된(concatenated) 제2 잔차 네트워크의 수량을 포함하며,
상기 하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하는 단계는,
제3 하이퍼파라미터 값 서브 세트로부터 상기 제1 잔차 네트워크에서의 상기 제1 콘볼루션 커널의 콘볼루션 커널 크기를 타깃 콘볼루션 커널 크기 값으로 결정하는 단계; 및
제4 하이퍼파라미터 값 서브 세트로부터 상기 연쇄 연결된 제2 잔차 네트워크의 수량을 타깃 수량으로 결정하는 단계
를 포함하고,
상기 하이퍼파라미터 값 세트는 상기 제3 하이퍼파라미터 값 서브 세트 및 상기 제4 하이퍼파라미터 값 서브 세트를 포함하는, 방법. - 제1항에 있어서,
상기 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도를 획득하는 단계는,
타깃 애플리케이션으로부터 획득된 제1 훈련 샘플 세트를 사용하여 상기 제1 신경망 모델을 훈련하여 상기 제2 신경망 모델을 획득하는 단계;
상기 제2 신경망 모델을 사용하여, 상기 타깃 애플리케이션으로부터 획득된 검증 샘플 세트에서의 각각의 검증 샘플을 검출하여, 상기 검증 샘플 세트에서의 각각의 검증 샘플에 대응하는 검출 결과를 획득하는 단계 - 상기 검증 샘플 세트는 상기 타깃 애플리케이션으로부터 획득된 복수의 검증 샘플 및 상기 각각의 검증 샘플에 대응하는 타깃 검출 결과를 포함함 -; 및
상기 복수의 검증 샘플의 총 수량 중 매칭 수량(quantity of matches)의 비율을 상기 제1 모델 정확도로 결정하는 단계 - 상기 매칭 수량은 상기 검증 샘플에 대응하는 검출 결과가 상기 검증 샘플에 대응하는 타깃 검출 결과와 매칭하는 검증 샘플의 수량을 지시하는 데 사용됨 -
을 포함하는, 방법. - 제1항에 있어서,
상기 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 상기 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하는 단계 이후에,
상기 방법은,
타깃 애플리케이션으로부터 획득된 제2 훈련 샘플 세트를 사용하여 상기 제3 신경망 모델을 훈련하여 제4 신경망 모델을 획득하는 단계; 및
상기 제4 신경망 모델을 사용하여 상기 타깃 애플리케이션에서 검출 대상 데이터(to-be-detected data)를 검출하는 단계
를 더 포함하는 방법. - 제7항에 있어서,
상기 제2 훈련 샘플 세트는 장면(scene) 데이터와 상기 장면 데이터에 대응하는 작동 데이터를 포함하고,
상기 타깃 애플리케이션으로부터 획득된 제2 훈련 샘플 세트를 사용하여 상기 제3 신경망 모델을 훈련하여 제4 신경망 모델을 획득하는 단계는,
입력 계층, 출력 계층, 구조 계층 및 제3 신경망 모델 파라미터를 포함하는 손실 함수(loss function)를 초기화하는 단계;
상기 제3 신경망 모델의 각각의 반복 훈련 과정에서 상기 제2 훈련 샘플 세트에서의 장면 데이터를 상기 제3 신경망 모델에 입력하여, 예측된 작동 데이터를 획득하는 단계;
상기 손실 함수의 최소값이 획득된 경우에, 상기 훈련 샘플 세트로부터 선택된 작동 데이터 및 상기 예측된 작동 데이터를 상기 손실 함수로 대체하여 대응하는 제3 신경망 모델 파라미터를 해결하는(solve) 단계; 및
상기 해결된 제3 신경망 모델 파라미터에 따라 상기 제3 신경망 모델을 업데이트하여 상기 제4 신경망 모델을 획득하는 단계
를 포함하는, 방법. - 제1항 내지 제7항 중 어느 한 항에 있어서,
상기 입력 계층은 콘볼루션 계층, 배치 정규화(batch normalization) 계층 및 활성화(activation) 계층을 포함하고, 상기 출력 계층은 완전 연결(fully-connected) 계층 및 손실 함수 계층을 포함하며, 상기 구조 계층은 제1 잔차 네트워크의 4개의 계층과 제2 잔차 네트워크의 4개의 계층을 포함하고, 그리고
상기 제1 신경망 모델은 상기 입력 계층, 성가 하이퍼파라미터 값을 갖는 구조 계층 및 상기 출력 계층을 타깃 연결 방식으로 연결하여 획득된 신경망 모델이며, 상기 타깃 연결 방식은,
상기 콘볼루션 계층, 상기 배치 정규화 계층 및 상기 활성화 계층을 연쇄 연결하여(concatenate) 상기 입력 계층을 획득하는 단계;
상기 완전 연결 계층 및 상기 손실 함수 계층을 연쇄 연결하여 상기 출력 계층을 획득하는 단계;
상기 제1 잔차 네트워크의 제1 계층, 상기 제2 잔차 네트워크의 제1 계층, 상기 제1 잔차 네트워크의 제2 계층, 상기 제2 잔차 네트워크의 제2 계층, 상기 제1 잔차 네트워크의 제3 계층, 상기 제2 잔차 네트워크의 제3 계층, 상기 제1 잔차 네트워크의 제4 계층, 및 상기 제2 잔차 네트워크의 제4 계층을 연쇄 연결하여 상기 구조 계층을 획득하는 단계 - 상기 구조 계층의 하이퍼파라미터 값은 상기 제1 잔차 네트워크의 4개의 계층에서 제1 잔차 네트워크의 각각의 계층의 콘볼루션 커널 크기, 및 상기 제2 잔차 네트워크의 4개의 계층의 각각의 계층에서 연쇄 연결된 제2 잔차 네트워크의 수량을 포함함 -; 및
상기 입력 계층, 상기 하이퍼파라미터 값을 갖는 구조 계층 및 상기 출력 계층을 연쇄 연결 방식으로 연결하여 상기 제1 신경망 모델을 획득하는 단계
를 포함하는, 방법. - 게임에 적용 가능한 신경망 모델을 생성하는 장치로서,
하이퍼파라미터 값 세트로부터 제1 신경망 모델에서의 하이퍼파라미터에 대응하는 하이퍼파라미터 값을 결정하도록 구성된 결정 모듈 - 상기 제1 신경망 모델은 입력 계층, 하이퍼파라미터 값을 갖는 구조 계층 및 출력 계층을 타깃 연결 방식으로 연결하는 것에 의해 획득된 신경망 모델임 -;
상기 제1 신경망 모델을 훈련하는 것에 의해 획득된 제2 신경망 모델의 제1 모델 정확도를 획득하도록 구성된 획득 모듈; 및
상기 제1 모델 정확도가 타깃 정확도보다 낮은 경우, 상기 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값을 상기 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트하여 제3 신경망 모델을 획득하도록 구성된 업데이트 모듈 - 제4 신경망 모델을 사용하여 검증 샘플 세트를 검출하는 제2 모델 정확도는 상기 타깃 정확도보다 높거나 같으며, 상기 제4 신경망 모델은 상기 제3 신경망 모델을 훈련하는 것에 의해 획득됨 -
를 포함하는 장치. - 제10항에 있어서,
상기 구조 계층은 제1 잔차 네트워크 및 제2 잔차 네트워크를 포함하고,
상기 결정 모듈은,
제1 하이퍼파라미터 값 서브 세트로부터 상기 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하도록 구성된 제1 결정 유닛 - 상기 제1 잔차 네트워크의 복수의 하이퍼파라미터는 상기 제1 하이퍼파라미터를 포함함 -; 및
제2 하이퍼파라미터 값 서브 세트로부터 상기 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하도록 구성된 제2 결정 유닛 - 상기 제2 잔차 네트워크의 복수의 하이퍼파라미터는 상기 제2 하이퍼파라미터를 포함하며, 상기 하이퍼파라미터 값 세트는 상기 제1 하이퍼파라미터 값 서브 세트 및 상기 제2 하이퍼파라미터 값 서브 세트를 포함함 -
를 포함하는, 장치. - 제11항에 있어서,
상기 구조 계층은 복수의 제1 잔차 네트워크 및 복수의 제2 잔차 네트워크를 포함하고, 상기 하이퍼파라미터 값 세트는 복수의 제1 하이퍼파라미터 값 서브 세트 및 복수의 제2 하이퍼파라미터 값 서브 세트를 포함하며, 상기 복수의 제1 잔차 네트워크는 상기 복수의 제1 하이퍼파라미터 값 서브 세트와 일대일 대응 관계에 있고, 상기 복수의 제2 잔차 네트워크는 상기 복수의 제2 하이퍼파라미터 값 서브 세트와 일대일 대응 관계에 있으며;
상기 제1 결정 유닛은, 상기 복수의 제1 하이퍼파라미터 값 서브 세트에서 각각의 제1 하이퍼파라미터 값 서브 세트로부터 타깃 제1 잔차 네트워크의 제1 하이퍼파라미터에 대응하는 제1 하이퍼파라미터 값을 결정하도록 구성되고, 상기 타깃 제1 잔차 네트워크는 상기 각각의 제1 하이퍼파라미터 값 서브 세트에 대응하는 제1 잔차 네트워크이며, 그리고
상기 제2 결정 유닛은, 상기 복수의 제2 하이퍼파라미터 값 서브 세트에서 각각의 제2 하이퍼파라미터 값 서브 세트로부터 타깃 제2 잔차 네트워크의 제2 하이퍼파라미터에 대응하는 제2 하이퍼파라미터 값을 결정하도록 구성되고, 상기 타깃 제2 잔차 네트워크는 상기 각각의 제2 하이퍼파라미터 값 서브 세트에 대응하는 제2 잔차 네트워크인, 장치. - 제11항에 있어서,
상기 구조 계층은 제1 잔차 네트워크 및 제2 잔차 네트워크를 포함하고, 상기 제1 하이퍼파라미터는 상기 제1 잔차 네트워크에 포함된 콘볼루션 커널 중 제1 콘볼루션 커널의 콘볼루션 커널 크기를 포함하고, 상기 제2 하이퍼파라미터는 연쇄 연결된 제2 잔차 네트워크의 수량을 포함하며,
상기 결정 모듈은,
제3 하이퍼파라미터 값 서브 세트로부터 상기 제1 잔차 네트워크에서의 상기 제1 콘볼루션 커널의 콘볼루션 커널 크기를 타깃 콘볼루션 커널 크기 값으로 결정하도록 구성된 제3 결정 유닛; 및
제4 하이퍼파라미터 값 서브 세트로부터 상기 연쇄 연결된 제2 잔차 네트워크의 수량을 타깃 수량으로 결정하도록 구성된 제4 결정 유닛
을 포함하고,
상기 하이퍼파라미터 값 세트는 상기 제3 하이퍼파라미터 값 서브 세트 및 상기 제4 하이퍼파라미터 값 서브 세트를 포함하는, 장치. - 제10항에 있어서,
상기 제1 신경망 모델에서의 일부 하이퍼파라미터의 하이퍼파라미터 값이 상기 하이퍼파라미터 값 세트에서의 대응하는 타깃 하이퍼파라미터 값으로 업데이트되어 제3 신경망 모델을 획득한 이후에, 타깃 애플리케이션으로부터 획득된 제2 훈련 샘플 세트를 사용하여 상기 제3 신경망 모델을 훈련하여 제4 신경망 모델을 획득하도록 구성된 훈련 모듈; 및
상기 제4 신경망 모델을 사용하여 상기 타깃 애플리케이션에서 검출 대상 데이터를 검출하도록 구성된 검출 모듈
을 더 포함하는 장치. - 컴퓨터 프로그램을 저장하는, 컴퓨터가 판독 가능한 저장 매체로서,
상기 컴퓨터 프로그램은 실행될 때 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 컴퓨터가 판독 가능한 저장 매체. - 전자 디바이스로서,
메모리 및 프로세서를 포함하고,
상기 메모리는 컴퓨터 프로그램을 저장하고, 상기 프로세서는 상기 컴퓨터 프로그램을 사용하여 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 구성되는, 전자 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910565729.6A CN110363286A (zh) | 2019-06-27 | 2019-06-27 | 神经网络模型的生成方法及装置 |
CN201910565729.6 | 2019-06-27 | ||
PCT/CN2020/097749 WO2020259502A1 (zh) | 2019-06-27 | 2020-06-23 | 神经网络模型的生成方法及装置、计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210109632A true KR20210109632A (ko) | 2021-09-06 |
Family
ID=68215661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217025055A KR20210109632A (ko) | 2019-06-27 | 2020-06-23 | 신경망 모델을 생성하는 방법 및 장치 그리고 컴퓨터가 판독 가능한 저장 매체 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20210365782A1 (ko) |
EP (1) | EP3992857A4 (ko) |
JP (1) | JP7325703B2 (ko) |
KR (1) | KR20210109632A (ko) |
CN (1) | CN110363286A (ko) |
SG (1) | SG11202105466QA (ko) |
WO (1) | WO2020259502A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220051627A (ko) * | 2020-10-19 | 2022-04-26 | 세종대학교산학협력단 | 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11504626B2 (en) * | 2018-11-29 | 2022-11-22 | Ts Tech Co., Ltd. | Seat system and seat experience device |
CN110363286A (zh) * | 2019-06-27 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 神经网络模型的生成方法及装置 |
DE102020208309A1 (de) * | 2020-07-02 | 2022-01-05 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren und Vorrichtung zum Erstellen eines maschinellen Lernsystems |
US20220226994A1 (en) * | 2020-07-20 | 2022-07-21 | Georgia Tech Research Corporation | Heterogeneous graph attention networks for scalable multi-robot scheduling |
CN111968744B (zh) * | 2020-10-22 | 2021-02-19 | 深圳大学 | 基于贝叶斯优化的脑卒中与慢性病模型的参数优化方法 |
CN112580807A (zh) * | 2020-12-29 | 2021-03-30 | 中国科学院空天信息创新研究院 | 一种基于效能评估的神经网络改进需求自动生成方法及装置 |
CN112791411B (zh) * | 2021-01-25 | 2024-06-04 | 网易(杭州)网络有限公司 | Npc控制模型的训练方法、装置及电子设备 |
US11883746B2 (en) * | 2021-02-23 | 2024-01-30 | Electronic Arts Inc. | Adversarial reinforcement learning for procedural content generation and improved generalization |
CN112949711B (zh) * | 2021-02-26 | 2023-10-27 | 中国科学院软件研究所 | 面向软件定义卫星的神经网络模型可复用训练方法、装置 |
CN113240109B (zh) * | 2021-05-17 | 2023-06-30 | 北京达佳互联信息技术有限公司 | 网络训练的数据处理方法、装置、电子设备、存储介质 |
CN113837894B (zh) * | 2021-08-06 | 2023-12-19 | 国网江苏省电力有限公司南京供电分公司 | 基于残差卷积模块的非侵入式居民用户负荷分解方法 |
CN113869501B (zh) * | 2021-10-19 | 2024-06-18 | 京东科技信息技术有限公司 | 神经网络的生成方法、装置、电子设备及存储介质 |
CN113965313B (zh) * | 2021-12-15 | 2022-04-05 | 北京百度网讯科技有限公司 | 基于同态加密的模型训练方法、装置、设备以及存储介质 |
CN114997052A (zh) * | 2022-05-30 | 2022-09-02 | 武汉理工大学 | 基于可分离卷积的风机寿命预测方法、装置、设备及介质 |
CN116628349B (zh) * | 2023-07-25 | 2023-12-19 | 腾讯科技(深圳)有限公司 | 信息推荐方法、装置、设备、存储介质及程序产品 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10275719B2 (en) * | 2015-01-29 | 2019-04-30 | Qualcomm Incorporated | Hyper-parameter selection for deep convolutional networks |
CN105844627B (zh) * | 2016-03-21 | 2019-02-05 | 华中科技大学 | 一种基于卷积神经网络的海面目标图像背景抑制方法 |
US10726335B2 (en) * | 2017-10-26 | 2020-07-28 | Uber Technologies, Inc. | Generating compressed representation neural networks having high degree of accuracy |
CN108446534A (zh) * | 2018-03-13 | 2018-08-24 | 腾讯科技(深圳)有限公司 | 选择神经网络超参数的方法、装置和计算机可读存储介质 |
CN108764455A (zh) * | 2018-05-17 | 2018-11-06 | 南京中兴软件有限责任公司 | 调参方法、装置及存储介质 |
CN110363286A (zh) * | 2019-06-27 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 神经网络模型的生成方法及装置 |
-
2019
- 2019-06-27 CN CN201910565729.6A patent/CN110363286A/zh active Pending
-
2020
- 2020-06-23 EP EP20832528.2A patent/EP3992857A4/en active Pending
- 2020-06-23 WO PCT/CN2020/097749 patent/WO2020259502A1/zh active Application Filing
- 2020-06-23 JP JP2021544390A patent/JP7325703B2/ja active Active
- 2020-06-23 SG SG11202105466QA patent/SG11202105466QA/en unknown
- 2020-06-23 KR KR1020217025055A patent/KR20210109632A/ko not_active Application Discontinuation
-
2021
- 2021-06-16 US US17/304,226 patent/US20210365782A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220051627A (ko) * | 2020-10-19 | 2022-04-26 | 세종대학교산학협력단 | 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치 |
Also Published As
Publication number | Publication date |
---|---|
JP7325703B2 (ja) | 2023-08-15 |
US20210365782A1 (en) | 2021-11-25 |
SG11202105466QA (en) | 2021-06-29 |
EP3992857A4 (en) | 2022-08-10 |
JP2022519351A (ja) | 2022-03-23 |
WO2020259502A1 (zh) | 2020-12-30 |
CN110363286A (zh) | 2019-10-22 |
EP3992857A1 (en) | 2022-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210109632A (ko) | 신경망 모델을 생성하는 방법 및 장치 그리고 컴퓨터가 판독 가능한 저장 매체 | |
CN112232478B (zh) | 一种基于分层注意力机制的多智能体强化学习方法及系统 | |
US11135514B2 (en) | Data processing method and apparatus, and storage medium for concurrently executing event characters on a game client | |
Li et al. | Random curiosity-driven exploration in deep reinforcement learning | |
Kelly et al. | Emergent tangled graph representations for Atari game playing agents | |
CN112329948B (zh) | 一种多智能体策略预测方法及装置 | |
Kelly et al. | Emergent solutions to high-dimensional multitask reinforcement learning | |
CN109847366B (zh) | 用于游戏的数据处理方法和装置 | |
Xu et al. | Transferable environment poisoning: Training-time attack on reinforcement learning | |
CN110235149A (zh) | 神经情节控制 | |
CN113726545B (zh) | 基于知识增强生成对抗网络的网络流量生成方法及装置 | |
CN116017476A (zh) | 无线传感器网络覆盖设计方法、装置 | |
CN110325965A (zh) | 虚拟场景中的对象处理方法、设备及存储介质 | |
CN112819152B (zh) | 一种神经网络训练方法及装置 | |
Deng et al. | A novel hybrid intelligence algorithm for solving combinatorial optimization problems | |
CN116943220A (zh) | 一种游戏人工智能控制方法、装置、设备及存储介质 | |
Zhang et al. | Evolution of cooperation in malicious social networks with differential privacy mechanisms | |
Espinosa Leal et al. | Reinforcement learning for extended reality: designing self-play scenarios | |
Swiechowski et al. | Grail: A Framework for Adaptive and Believable AI in Video Games | |
Purmonen | Predicting game level difficulty using deep neural networks | |
CN109977998A (zh) | 信息处理方法及装置、存储介质和电子装置 | |
Gao et al. | Adversarial policy gradient for alternating markov games | |
Qi et al. | A gnn-enhanced game bot detection model for mmorpgs | |
Dyankov et al. | Multi-task learning by pareto optimality | |
Zhao et al. | A Brain-inspired Theory of Collective Mind Model for Efficient Social Cooperation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |