KR20210106814A - 뉴럴 네트워크 학습 방법 및 장치 - Google Patents
뉴럴 네트워크 학습 방법 및 장치 Download PDFInfo
- Publication number
- KR20210106814A KR20210106814A KR1020200021798A KR20200021798A KR20210106814A KR 20210106814 A KR20210106814 A KR 20210106814A KR 1020200021798 A KR1020200021798 A KR 1020200021798A KR 20200021798 A KR20200021798 A KR 20200021798A KR 20210106814 A KR20210106814 A KR 20210106814A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- neural network
- training
- learning
- reliability
- Prior art date
Links
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
뉴럴 네트워크의 학습 방법 및 장치, 이를 포함하는 뉴럴 네트워크 시스템이 개시된다. 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 학습 방법은, 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 제1 데이터에 대하여 주석 및 신뢰도를 추출하는 단계, 상기 제1 데이터 중 임계 값 이상의 신뢰도를 갖는 제2 데이터를 선택하는 단계, 상기 제2 데이터를 기초로 상기 트레이닝 데이터를 확장하는 단계, 및 상기 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝하는 단계를 포함한다.
Description
본 개시의 기술적 사상은 뉴럴 네트워크의 학습 방법, 뉴럴 네트워크의 학습 장치 및 뉴럴 네트워크의 학습 방법을 수행하는 뉴럴 네트워크 시스템에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 최근 다양한 종류의 전자 장치 또는 데이터 처리 시스템에 인공지능 시스템이 적용되고 있다.
머신 러닝 또는 딥 러닝에 기반한 다양한 종류의 뉴럴 네트워크 모델들이 인공지능 시스템에 적용되고 있다. 뉴럴 네트워크 모델의 학습을 위해서는 많은 양의 학습 데이터가 필요하며, 이때 학습 데이터는 원본 데이터 및 원본 데이터에 대한 주석을 포함한다. 학습 데이터가 충분하지 못할 경우, 학습된 뉴럴 네트워크의 성능이 저하될 수 있다.
본 개시의 기술적 사상이 해결하려는 과제는, 획득된 데이터를 가공하여 학습 데이터로 추가함으로써, 뉴럴 네트워크의 성능을 향상시킬 수 있는 뉴럴 네트워크의 학습 방법, 장치 및 이를 포함하는 뉴럴 네트워크 시스템을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상에 따른 따른 뉴럴 네트워크 학습 방법은, 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 제1 데이터에 대하여 주석 및 신뢰도를 추출하는 단계, 상기 제1 데이터 중 임계 값 이상의 신뢰도를 갖는 제2 데이터를 선택하는 단계, 상기 제2 데이터를 기초로 상기 트레이닝 데이터를 확장하는 단계, 및 상기 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝하는 단계를 포함할 수 있다.
본 개시의 기술적 사상에 따른 뉴럴 네트워크 학습 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 초기 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 수집된 데이터에 대하여 추론을 수행함으로써 상기 수집된 데이터에 대한 주석을 추출하고, 상기 수집된 데이터 중 상기 주석이 임계 값 이상의 신뢰도를 갖는 기준 데이터를 기초로 트레이닝 데이터를 추가하고, 추가된 트레이닝 데이터 및 상기 초기 트레이닝 데이터를 기초로 상기 뉴럴 네트워크에 대한 재 트레이닝을 수행할 수 있다.
본 개시의 기술적 사상에 따른 뉴럴 네트워크 시스템은, 주석을 포함하지 않는 수집된 데이터를 상기 주석을 포함하도록 가공하고, 가공된 데이터를 상기 주석에 대한 신뢰도를 기초로 선별적으로 트레이닝 데이터 베이스에 추가함으로써 상기 트레이닝 데이터 베이스를 확장하고, 확장된 트레이닝 데이터 베이스를 기초로 뉴럴 네트워크를 재 트레이닝하는 학습 모듈; 및 재 트레이닝된 상기 뉴럴 네트워크를 기초로, 입력되는 데이터에 대한 추론을 수행함으로써, 상기 입력 데이터에 대한 인식 정보를 추출하는 데이터 인식 모듈을 포함할 수 있다.
본 개시의 기술적 사상에 따른 시스템 온 칩은, 외부 장치로부터 수신되는 외부 데이터에 대하여 뉴럴 네트워크에 기반한 추론을 수행함으로써 상기 외부 데이터에 대한 주석을 추출하고, 상기 외부 데이터 중 상기 주석에 대한 신뢰도가 임계 값 이상인 데이터를 트레이닝 데이터 베이스에 추가함으로써 상기 트레이닝 데이터 베이스를 확장하고, 확장된 트레이닝 데이터 베이스를 기초로 뉴럴 네트워크를 재 트레이닝하는 학습 모듈; 및 재 트레이닝된 상기 뉴럴 네트워크를 기초로 입력 데이터에 대한 데이터 인식을 수행하는 데이터 인식 모듈을 포함할 수 있다.
본 개시의 기술적 사상에 따른 뉴럴 네트워크 학습 방법, 뉴럴 네트워크 학습 장치, 이를 포함하는 뉴럴 네트워크 시스템은, 트레이닝된 뉴럴 네트워크를 이용하여, 주석을 포함하지 않는 데이터에 대하여 주석을 추출하고, 상기 데이터를 트레이닝 데이터로 추가함으로써 트레이닝 데이터의 양을 증가시킬 수 있으며, 추가된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝 시킴으로써, 뉴럴 네트워크의 성능이 향상될 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 전자 시스템을 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템에 적용되는 뉴럴 네트워크의 일 예를 나타낸다.
도 3은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 동작 방법을 나타내는 흐름도이다.
도 4a는 트레이닝 데이터를 나타내고, 도 4b는 본 개시의 예시적 실시예에 따른 주석이 생성된 데이터를 나타낸다.
도 5는 본 개시의 예시적 실시예에 따른 트레이닝 데이터 확장 방법을 설명하는 흐름도이다.
도 6은 본 개시의 예시절 실시예에 따른 트레이닝 데이터의 확장 방법을 설명하는 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 학습 방법을 나타내는 흐름도이다.
도 8은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 추론 결과 및 데이터 확장을 설명하는 도면이다.
도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 신뢰도 분포를 나타낸다.
도 10a 및 도 10b는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템에서 신뢰도 분포에 따라 데이터를 트레이닝 데이터에 추가하는 방법을 나타낸다.
도 11, 도 12, 도 13 및 14는 본 개시의 예시적 실시예에 따른 트레이닝 데이터의 추가를 예시적으로 나타낸다.
도 15는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 학습 장치의 블록도이다.
도 16은 본 개시의 예시적 실시예에 따른 집적 회로 및 이를 포함하는 장치를 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템에 적용되는 뉴럴 네트워크의 일 예를 나타낸다.
도 3은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 동작 방법을 나타내는 흐름도이다.
도 4a는 트레이닝 데이터를 나타내고, 도 4b는 본 개시의 예시적 실시예에 따른 주석이 생성된 데이터를 나타낸다.
도 5는 본 개시의 예시적 실시예에 따른 트레이닝 데이터 확장 방법을 설명하는 흐름도이다.
도 6은 본 개시의 예시절 실시예에 따른 트레이닝 데이터의 확장 방법을 설명하는 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 학습 방법을 나타내는 흐름도이다.
도 8은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 추론 결과 및 데이터 확장을 설명하는 도면이다.
도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 신뢰도 분포를 나타낸다.
도 10a 및 도 10b는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템에서 신뢰도 분포에 따라 데이터를 트레이닝 데이터에 추가하는 방법을 나타낸다.
도 11, 도 12, 도 13 및 14는 본 개시의 예시적 실시예에 따른 트레이닝 데이터의 추가를 예시적으로 나타낸다.
도 15는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 학습 장치의 블록도이다.
도 16은 본 개시의 예시적 실시예에 따른 집적 회로 및 이를 포함하는 장치를 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시예에 따른 전자 시스템을 나타내는 블록도이다.
도 1의 전자 시스템(100)은 뉴럴 네트워크를 기초로 입력 데이터를 실시간으로 분석하여 유효한 정보를 추출하고, 추출된 정보를 기초로 상황 판단을 하거나 또는 전자 시스템(100)이 탑재되는 전자 장치의 구성들을 제어할 수 있다. 전자 시스템(100)은 뉴럴 네트워크 시스템으로 지칭될 수 있다.
뉴럴 네트워크는, GoogLeNet, AlexNet, VGG Network 등과 같은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzman Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network 등 다양한 종류의 뉴럴 네트워크 모델들을 포함할 수 있으나 이에 제한되지 않는다. 또한, 뉴럴 네트워크는 서브 뉴럴 네트워크들을 포함할 수 있으며, 서브 뉴럴 네트워크들은 이종의 뉴럴 네트워크로 구현될 수 있다.
도 1의 전자 시스템(100)은 모바일 장치에 채용되는 어플리케이션 프로세서(Application Processor, AP)일 수 있다. 또는, 도 1의 전자 시스템(100)은 컴퓨팅 시스템에 해당하거나, 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS), 로봇, 스마트 TV, 스마트 폰, 의료 장치, 모바일 장치, 영상 표시 장치, 계측 장치, IoT(Internet of Things) 장치 등에 해당할 수 있다.
도 1을 참조하면, 전자 시스템(100)은 학습 모듈(110) 및 데이터 인식 모듈(120)을 포함할 수 있으며, 전자 시스템(100)은 트레이닝 데이터베이스(130)를 포함할 수 있다.
학습 모듈(110)은 뉴럴 네트워크, 다시 말해서 딥러닝 모델을 학습시킬 수 있다. 학습 모듈(110)은 뉴럴 네트워크가 입력 데이터의 특성을 추출하기 위한 기준을 학습시킬 수 있다. 예를 들어, 학습을 통하여, 뉴럴 네트워크의 각종 파라미터들(예컨대 바이어스, 웨이트 등)이 결정될 수 있다.
학습 모듈(110)은 트레이닝 데이터베이스(130)의 트레이닝 데이터(TDT)를 기초로 뉴럴 네트워크를 학습시킬 수 있다. 트레이닝 데이터(TDT)는 원본 데이터(row data) 및 상기 원본 데이터에 대한 주석(또는 정답이라고 함)을 포함한다. 트레이닝 데이터(TDT)는 그라운드 트루스(ground truth) 데이터일 수 있다. 뉴럴 네트워크를 학습 시키기 위해서는 많은 양의 트레이닝 데이터(TDT)가 요구되며, 뉴럴 네트워크에 대해 높은 정확도 및 복잡도가 요구될 경우, 더 많은 양의 트레이닝 데이터(TDT)가 요구된다.
트레이닝 데이터베이스(130)에 포함된 트레이닝 데이터(TDT)의 양이 뉴럴 네트워크가 학습되기에 충분하지 못하다면, 뉴럴 네트워크의 성능이 저하되거나 또는 과적합(over-fitting)이 발생할 수 있다. 과적합은, 트레이닝 에러(예컨대, 트레이닝 데이터에 대한 추론 결과의 에러)에 비해 테스트 에러(예컨대, 입력 데이터에 대한 추론 결과의 에러)가 비정상적으로 높은 상태를 의미한다.
본 개시의 실시예에 따른 학습 모듈(110)은 주석을 포함하지 않는 수집된 데이터(CDT)를 주석을 포함하는 데이터로 가공하고, 가공된 데이터 중 적어도 일부를 트레이닝 데이터베이스(130)에 추가함으로써, 트레이닝 데이터(TDT)를 확장시킬 수 있다. 다시 말해서, 학습 모듈(110)은 수집된 데이터(CDT)에 대한 가공을 통해, 트레이닝 데이터(TDT)의 양을 증가시킬 수 있다.
실시예에 있어서, 학습 모듈(110)은 트레이닝 데이터(TDT), 예컨대 초기 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 수집된 데이터(CDT)의 주석을 추출할 수 있다. 학습 모듈(110)은 뉴럴 네트워크를 기초로 수집된 데이터(CDT)에 대하여 추론을 수행하고, 추론 결과로서 주석을 추출할 수 있다. 이 때, 주석에 대한 신뢰도가 함께 추출될 수 있다. 학습 모듈(110)은 주석이 추출된 수집된 데이터(CDT) 중 신뢰도가 상대적으로 높은 데이터, 예컨대 신뢰도가 임계 값 이상인 데이터를 기준 데이터로서 선택할 수 있다.
실시예에 있어서, 학습 모듈(110)은 사용자의 검색어를 기초로 상기 검색어에 기반하여 획득된 수집된 데이터(CDT)에 주석을 추가할 수 있다. 이때, 사용자는 전자 시스템(100)을 이용하는 사람을 의미하며, 사용자가 웹, 인터넷과 같은 통신 네트워크 상에서 검색어를 기초로 써칭함에 의하여, 수집된 데이터(CDT)가 획득될 수 있다. 학습 모듈(110)은 검색어를 기초로, 수집된 데이터(CDT)의 주석을 생성할 수 있으며, 이때, 주석의 신뢰도는 높을 수 있다. 따라서, 학습 모듈(110)은 검색어에 기반하여 수집된 데이터(CDT)에 주석을 추가함으로써, 기준 데이터를 생성할 수 있다.
학습 모듈(110)은 기준 데이터를 다양한 변형 기법을 이용하여 변형함으로써, 많은 양의 변형된 데이터를 생성할 수 있다. 이때, 변형된 데이터는 변형 전의 기준 데이터와 동일한 주석을 포함할 수 있다. 다만 변형된 데이터의 신뢰도는 기준 데이터의 신뢰도보다 감소할 수 있다. 학습 모듈(110)은 변형된 데이터 중 신뢰도가 기준 값 이상인 데이터를 선택하고, 선택된 데이터를 트레이닝 데이터베이스(130)에 추가할 수 있다. 학습 모듈(110)의 트레이닝 데이터(TDT)를 확장하는 방법에 대하여 이하 도 3 내지 도 14를 참조하여 상세하게 설명하기로 한다.
학습 모듈(110)은 확장된 트레이닝 데이터(TDT)를 기초로 뉴럴 네트워크를 재 트레이닝시킬 수 있으며, 이에 따라 뉴럴 네트워크의 성능(예컨대 문제 해결의 정확성 또는 문제 해결의 확장성)이 증가될 수 있다. 예컨대 초기 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크의 성능 대비, 확장된 트레이닝 데이터(TDT)를 기초로 재 트레이닝된 뉴럴 네트워크의 성능이 증가될 수 있다.
데이터 인식 모듈(120)은 학습된 뉴럴 네트워크, 다시 말해서, 학습 모듈(110)에서 트레이닝 또는 재 트레이닝된 뉴럴 네트워크에 기반하여, 입력 데이터의 특성 정보를 추출하거나, 추출된 특성 정보를 기초로 출력 데이터를 획득할 수 있다. 예를 들어, 데이터 인식 모듈(120)은 전자 시스템(100)에서 요구되는 테스크 수행을 위하여, 뉴럴 네트워크에 기초하여 입력 이미지에 대한 추론을 수행할 수 있다. 추론 단계에서 수행되는 뉴럴 네트워크의 연산들은 별도의 가속기, 예컨대, GPU(Graphic Processing Unit), NPU(Neural Processing Unit), DSP(Digital Signal Processor), FPGA(Field Programmable Gate array) 등에서 수행될 수 있다.
데이터 인식 모듈(120)은 추론 결과로서 정보 신호를 생성할 수 있다. 정보 신호는 음성 인식 신호, 사물 인식 신호, 영상 인식 신호, 생체 정보 인식 신호 등과 같은 다양한 종류의 인식 신호 중 하나를 포함할 수 있다. 예를 들어, 데이터 인식 모듈(120)은 입력 이미지로부터 특성 정보를 추출하거나, 추출된 특성 정보를 기초로 입력 이미지에 포함된 객체의 클래스 인식 결과를 출력 데이터, 즉 정보 신호로 획득할 수 있다.
한편, 학습 모듈(110) 및 데이터 인식 모듈(120)은 소프트웨어로 구현되거나, 하드웨어로 구현되거나 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 실시예에 있어서, 학습 모듈(110) 및 데이터 인식 모듈(120)은 운영 체제(OS)나 그 하위 단에 소프트웨어 형태로 구현될 수 있으며, 또한 전자 시스템(100)에 구비되는 메모리에 로딩 가능한 프로그램들로 구현될 수 있으며, 전자 시스템(100)의 적어도 하나의 프로세서에 의해 실행될 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템에 적용되는 뉴럴 네트워크의 일 예를 나타낸다.
도 2를 참조하면, 뉴럴 네트워크(NN)는 입력 레이어, 히든 레이어들 및 출력 레이어를 포함하는 구조를 가질 수 있다. 뉴럴 네트워크(NN)는 수신되는 입력 데이터(예를 들어, I1 및 I2)를 기초로 연산을 수행하고, 수행 결과를 기초로 출력 데이터(예를 들어, O1 및 O2)를 생성할 수 있다.
뉴럴 네트워크(NN)는 2개 이상의 히든 레이어들을 포함하는 딥 뉴럴 네트워크(Deep Neural Network, DNN) 또는 n-레이어 뉴럴 네트워크(n-layers neural networks)일 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 뉴럴 네트워크(NN)는 입력 레이어(10), 제1 및 제2 히든 레이어(12, 14) 및 출력 레이어(16)를 포함하는 DNN일 수 있다.
복수의 레이어들은 컨볼루션 레이어(convolutional layer), 풀리 커넥티드 레이어(fully-connected layer), 소프트맥스 레이어 등으로 구현될 수 있다. 예시적으로, 컨볼루선 레이어는 컨볼루션, 풀링, 활성 함수연산 등을 포함할 수 있다. 또는 컨볼루션, 풀링, 활성 함수 연산 각각이 레이어를 구성할 수도 있다.
복수의 레이어(10, 12, 14, 16)의 출력은 피처(또는 피처맵)으로 지칭될 수 있다. 복수의 레이어(10, 12, 14, 16)는 이전 레이어에서 생성된 피처를 입력 피처로서 수신하고, 입력 피처를 연산함으로써, 출력 피처 또는 출력 신호를 생성할 수 있다. 피처는 뉴럴 네트워크(NN)가 인식할 수 있는 입력 데이터의 다양한 특징이 표현된 데이터를 의미한다
뉴럴 네트워크(NN)가 DNN 구조를 갖는 경우 유효한 정보를 추출할 수 있는 보다 많은 레이어들을 포함하므로, 뉴럴 네트워크(NN)는 복잡한 데이터 집합들을 처리할 수 있다. 한편, 뉴럴 네트워크(NN)는 4개의 레이어들(10, 12, 14, 16)을 포함하는 것으로 도시되었으나, 이는 예시에 불과할 뿐 뉴럴 네트워크(NN)는 더 적거나 많은 레이어들을 포함할 수 있다. 또한, 뉴럴 네트워크(NN)는 도 2에 도시된 것과는 다른 다양한 구조의 레이어들을 포함할 수 있다.
뉴럴 네트워크(NN)에 포함된 레이어들(10, 12, 14, 16) 각각은 복수의 뉴런(neuron)들을 포함할 수 있다. 뉴런은, 프로세싱 엘리먼트(Processing Element, PE), 유닛(unit) 또는 이와 유사한 용어들로 알려진, 복수의 인공 노드(artificial node)들에 해당될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 입력 레이어(10)는 2개의 뉴런들(노드들), 제1 및 제2 히든 레이어(12, 14) 각각은 3개의 뉴런들(노드들)을 포함할 수 있다. 다만, 이는 예시에 불과할 뿐 뉴럴 네트워크(NN)에 포함된 레이어들 각각은 다양한 개수의 뉴런들(노드들)을 포함할 수 있다.
뉴럴 네트워크(NN)에 포함된 복수의 레이어(10, 12, 14, 16) 각각에 포함된 뉴런들은 서로 연결되어 데이터를 교환할 수 있다. 하나의 뉴런은 다른 뉴런들로부터 데이터를 수신하여 연산할 수 있고, 연산 결과를 또 다른 뉴런들로 출력할 수 있다.
뉴런들(노드들) 각각의 입력 및 출력은 입력 액티베이션(activation)및 출력 액티베이션으로 지칭될 수 있다. 즉, 액티베이션은 한 뉴런의 출력임과 동시에, 다음 레이어에 포함된 뉴런들의 입력에 해당되는 파라미터일 수 있다. 한편, 뉴런들 각각은 이전 레이어에 포함된 뉴런들로부터 수신된 액티베이션들(예컨대, , , 등), 웨이트(weight)들(예컨대, , , 등) 및 바이어스(예컨대, , , 등)에 기초하여 자신의 액티베이션을 결정할 수 있다. 웨이트 및 바이어스는 각 뉴런에서의 출력 액티베이션을 계산하기 위해 이용되는 파라미터들로서, 웨이트는 뉴런들 간의 연결관계에 할당되는 값이며, 바이어스는 개개의 뉴런에 관련된 가중치를 나타낸다. 도 1을 참조하여 설명한 바와 같이, 뉴럴 네트워크(NN)는 트레이닝 데이터에 기초한 트레이닝, 예컨대 기계 학습을 통해 웨이트, 바이어스와 같은 파라미터들을 결정할 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 동작 방법을 나타내는 흐름도이다. 도 3의 방법은 도 1의 전자 시스템(100)에서 수행될 수 있으며, 도 1을 참조하여 설명한 내용은 본 실시예에 적용될 수 있다.
도 1 및 도 3을 참조하면, 학습 모듈(110)은 주석을 포함하지 않는 수집된 데이터에 대하여 주석을 생성할 수 있다(S110). 실시예에 있어서, 학습 모듈(110)은 초기 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여 수집된 데이터에 대한 추론을 수행함으로써, 수집된 데이터에 대한 주석을 추출할 수 있다. 이때, 주석에 대한 신뢰도가 함께 추출될 수 있다.
도 4a는 트레이닝 데이터를 나타내고, 도 4b는 본 개시의 예시적 실시예에 따른 주석이 생성된 데이터를 나타낸다. 도 4a 및 도 4b는 이미지 데이터를 예를 들어 설명한다.
도 4a를 참조하면, 트레이닝 데이터(TDT)는 원본 데이터(RDT)(row data) 및 주석을 포함할 수 있다. 주석은 뉴럴 네트워크에서 출력하는 결과로서, 예컨대, 클래스, 바운딩 박스, 대상 감지 결과 등을 포함할 수 있다. 예를 들어, 뉴럴 네트워크가 사람 또는 동물의 얼굴 및 얼굴의 위치를 검출할 경우, 주석은, 도 4a에 도시된 바와 같이 사람의 얼굴 및 그 위치를 나타내는 바운딩 박스(BB)에 대한 정보(예컨대, 위치, 크기, 바운딩 박스(BB)에 포함되는 픽셀들 등), 얼굴이 나타내는 클래스(예컨대, 사람, 여성 등) 등에 대한 정보를 포함할 수 있다.
도 4b를 참조하면, 주석을 포함하지 않는 데이터(UADT)(unannotated data), 예컨대 수집된 데이터는 원본 데이터(RDT)를 포함하며, 도 3의 단계 S110에서 원본 데이터(RDT)에 대하여 주석이 생성되고, 주석이 원본 데이터(RDT)에 라벨링될 수 있다. 도 4b에 도시된 바와 같이, 주석은 강아지의 얼굴 및 그 위치를 나타내는 바운딩 박스(BB)에 대한 정보, 얼굴이 나타내는 클래스(예컨대, 강아지, 강아지의 종류) 등에 대한 정보를 포함할 수 있다. 이때, 주석과 함께 주석에 대한 신뢰도가 원본 데이터(RDT)에 라벨링될 수 있다. 이로써 주석을 포함하는 데이터(ADT)(annotated data)가 생성될 수 있다. 예를 들어, 주석이 강아지에 대응하는 클래스 정보를 포함하고, 주석을 포함하지 않는 데이터(UADT)의 강아지의 이미지가 트레이닝 데이터(TDT)의 강아지의 이미지와 유사할수록, 주석에 대한 신뢰도가 높을 수 있다. 다시 말해서, 주석을 포함하지 않는 데이터(UADT)의 피처가 트레이닝 데이터(TDT)의 피처와 유사할수록 주석에 대한 신뢰도가 높을 수 있다.
계속하여 도 3을 참조하면, 학습 모듈(110)은 주석이 생성된 수집된 데이터를 기초로 트레이닝 데이터를 소정의 비율로 확장할 수 있다(S120). 실시예에 있어서, 학습 모듈(110)은 주석이 생성된 수집된 데이터 중 임계 값 이상의 신뢰도를 갖거나 또는 상대적으로 신뢰도가 높다고 판단되는 데이터를 기초로 트레이닝 데이터를 확장할 수 있다. 학습 모듈(110)은 신뢰도가 높은 데이터를 다양한 방식을 통해 변형함으로써, 데이터의 양을 증가시키고 증가된 데이터 중 적어도 일부를 신뢰도를 기초로 선별적으로 트레이닝 데이터로서 추가할 수 있다.
학습 모듈(110)은 소정의 비율로 트레이닝 데이터를 추가할 수 있다. 예를 들어, 학습 모듈(110)은 현재 트레이닝 데이터의 양, 예컨대 초기 트레이닝 데이터의 양에 대한 소정의 비율에 해당하는 양만큼 트레이닝 데이터를 추가할 수 있다. 예를 들어 비율은 0보다 크고 1보다 작은 실수일 수 있다. 예를 들어, 현재 트레이닝 데이터로서 1000장의 이미지 데이터가 트레이닝 데이터 베이스에 존재하고, 상기 비율이 0.2일 경우, 학습 모듈(110)은 주석이 생성된 수집된 데이터를 기초로, 200장의 트레이닝 데이터를 추가할 수 있다.
학습 모듈(110)은 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝할 수 있다(S130). 이에 따라, 뉴럴 네트워크의 성능이 향상될 수 있다. 실시예에 있어서, 학습 모듈(110)은 재 트레이닝된 뉴럴 네트워크의 성능을 평가하고, 뉴럴 네트워크의 성능이 임계 레벨 미만으로 저하되거나, 큰 폭으로 성능이 저하된 경우, 학습 모듈(110)은 트레이닝 데이터 및 뉴럴 네트워크를 원복(recovery)할 수 있다. 실시예에 있어서, 학습 모듈(110)은 단계 S120 및 S130을 재 수행하여, 성능이 향상된 뉴럴 네트워크를 획득할 수 있다.
데이터 인식 모듈(120)은 재 트레이닝된 뉴럴 네트워크를 기초로 데이터 인식을 수행할 수 있다(S140). 데이터 인식 모듈(120)은 뉴럴 네트워크를 구동하고, 뉴럴 네트워크를 기초로 입력 데이터에 대한 추론을 수행함으로써, 입력 데이터에 대한 정보 신호를 획득할 수 있다.
이와 같이, 본 개시의 실시예에 따른 뉴럴 네트워크 시스템은, 주석을 포함하지 않는 데이터에 대하여 주석을 생성하고, 주석이 생성된 데이터를 이용하여 트레이닝 데이터를 확장할 수 있다. 뉴럴 네트워크 시스템은 확장된 트레이닝 데이터에 기초하여 뉴럴 네트워크를 재 트레이닝함으로써, 성능이 향상된 뉴럴 네트워크를 획득 및 이용할 수 있다. 도 3을 참조하여 설명한 바와 같이, 트레이닝 데이터의 확장 및 뉴럴 네트워크의 재 트레이닝을 반복적으로 수행됨으로써, 뉴럴 네트워크의 인식률이 향상될 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 트레이닝 데이터 확장 방법을 설명하는 흐름도이다. 도 5의 방법은 도 1의 학습 모듈(110)에서 수행될 수 있으며, 도 1 및 도 3을 참조하여 설명한 내용은 본 실시예에 적용될 수 있다.
도 1 및 도 5를 참조하면, 학습 모듈(110)은 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 주석을 포함하지 않는 수집된 데이터의 주석을 추출할 수 있다(S210). 이때, 주석에 대한 신뢰도가 함께 추출될 수 있다. 예를 들어, 뉴럴 네트워크가 다중 클래스 분류를 수행할 경우, 뉴럴 네트워크를 구동하여, 수집된 데이터에 대한 추론을 수행함으로써, 그 결과로서 수집된 데이터와 관련하여, 수집된 데이터와 매칭되는 복수의 클래스 및 복수의 클래스 각각에 대한 신뢰도가 추출될 수 있다.
학습 모듈(110)은 주석이 추출된 수집된 데이터 중 임계 값 이상의 신뢰도를 갖는 데이터를 기초로 데이터 확장(data augmentation)을 수행할 수 있다. 실시예에 있어서, 학습 모듈(110)은 신뢰도가 임계 값 이상인 수집된 데이터를 기준 데이터로서 선택하고, 기준 데이터를 기초로 데이터 확장을 수행할 수 있다. 예컨대, 학습 모듈(110)은 신뢰도가 임계 값 이상인 수집된 데이터를 그라운드 트루스 데이터로 간주하고, 데이터 확장의 모 데이터에 해당하는 기준 데이터로서 선택할 수 있다.
학습 모듈(110)은 기준 데이터를 다양한 방식을 이용하여 변형함으로써, 많은 양의 변형된 데이터를 생성할 수 있다. 예를 들어, 도 4b에 도시된 바와 같이, 기준 데이터가 강아지 얼굴을 포함하는 이미지 데이터이고, 주석은 강아지의 얼굴 및 그 위치를 나타내는 바운딩 박스(BB)에 대한 정보를 포함할 경우, 학습 모듈(110)은 이미지 데이터를 크롭(crop), 회전, 색상 변경, 노이즈 추가 등의 다양한 방식을 이용하여 변형할 수 있다. 이에 따라서, 많은 양의 변형된 이미지 데이터가 생성될 수 있다.
이때, 변형된 데이터(예컨대 변형된 이미지 데이터)의 주석은 기준 데이터(예컨대, 변형 전의 이미지 데이터)의 주석과 동일할 수 있다. 예를 들어, 변형된 이미지 데이터는 강아지의 얼굴 및 그 위치를 나타내는 바운딩 박스(BB)에 대한 정보를 포함할 수 있다. 다만, 변형된 이미지 데이터의 신뢰도는 감소할 수 있다. 실시예에 있어서, 학습 모듈(110)은 뉴럴 네트워크를 이용하여 변형된 데이터에 대한 추론을 수행할 수 있으며, 추론 결과로서 변형된 이미지 데이터에 대한 신뢰도가 추출될 수 있다.
학습 모듈(110)은 변형된 데이터 중 신뢰도가 기준 값 이상인 데이터를 기초로 트레이닝 데이터를 확장(extend)할 수 있다(S230). 학습 모듈(110)은 변형된 데이터 중 신뢰도가 소정의 기준 값 이상인 데이터를 트레이닝 데이터로서 추가할 수 있으며, 도 3의 S120단계에서 설명한 바와 같이, 학습 모듈(110)은 소정의 비율로 트레이닝 데이터를 추가할 수 있다. 이때, 학습 모듈(110)은 뉴럴 네트워크의 목적에 따라, 신뢰도가 상대적으로 높은 변형된 데이터 또는 신뢰도가 상대적으로 낮은 변형된 데이터(다만, 신뢰도는 기준 값 이상임)를 주로 트레이닝 데이터로서 추가할 수 있다. 실시예에 있어서, 학습 모듈(110)은 소정의 신뢰도 분포를 기초로, 변형된 데이터 중 트레이닝 데이터로서 추가될 데이터를 선택할 수 있다. 이에 대하여, 도 9a 내지 도 10b를 참조하여 후술하기로 한다.
학습 모듈(110)은 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝할 수 있다(S240).
학습 모듈(110)은 재 트레이닝된 뉴럴 네트워크의 성능 저하를 판단할 수 있다(S250). 학습 모듈(110)은 재 트레이닝된 뉴럴 네트워크의 성능을 평가할 수 있다. 학습 모듈(110)은 뉴럴 네트워크의 목적을 기초로 다양한 측면에서 뉴럴 네트워크의 성능 저하 여부를 평가할 수 있다.
학습 모듈(110)은 성능이 임계 레벨 미만으로 저하되거나, 또는 큰 폭으로 성능이 저하될 경우, 확장된 트레이닝 데이터를 원복할 수 있다(S260). 다시 말해서, 학습 모듈(110)은 확장된 트레인이 데이터를 기초로 재 트레이닝된 뉴럴 네트워크의 성능이 지나치게 저하되었다고 판단되면, 트레이닝 데이터를 확장이 부적절하다고 판단하고, 트레이닝 데이터를 확장 전으로 되돌릴 수 있다.
학습 모듈(110)은 임계 값을 조정하고(S270), 단계 S220 내지 S250을 재 수행할 수 있다. 예컨대 학습 모듈(110)은 임계 값을 증가시킬 수 있다. 다시 말해서, 학습 모듈(110)은 신뢰도가 더 높은 데이터를 기초로 트레이닝 데이터를 확장하고, 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝할 수 있다.
뉴럴 네트워크의 성능 향상 또는 과적합 방지를 위하여, 단순히 기존의 트레이닝 데이터, 예컨대 최초 트레이닝 데이터를 데이터 강화(Data augmentation)를 통해 변형하고, 변형된 데이터를 트레이닝 데이터로서 추가할 경우, 트레이닝 데이터의 양이 증가되는 효과는 있지만, 정확도나 정규화 효과가 감소될 수 있다. 또한, 트레이닝 데이터를 증가시키는 방식이 아닌, 입력 데이터의 피처 맵에서 클러스팅 기법을 기반으로 피처를 구분하고, 피처가 클러스터링된 분포에 기초하여 그룹의 개수를 판단하는 방식의 경우, 클래스들 간에 입력 데이터의 분포가 불균등하거나 피처 간 거리가 상이할 경우, 뉴럴 네트워크는 부정확한 결과를 도출할 수 있다.
그러나, 도 1 내지 도 5를 참조하여 전술한 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 학습 방법에 따르면, 주석을 포함하지 않는 수집된 데이에 대하여 주석을 추출하고, 주석이 추출된 데이터 또는 이를 기초로 변형된 데이터를 신뢰도를 기초로 학습 데이터를 일정 비율씩 추가함으로써, 트레이닝 데이터의 양을 증가시킬 수 있다. 주석을 포함하지 않는 수집된 데이터를 지속적으로 트레이닝 데이터로서 추가할 수 있으므로, 뉴럴 네트워크의 성능, 예컨대 정확도 또는 정규화 효과가 증가될 수 있다.
도 6은 본 개시의 예시절 실시예에 따른 트레이닝 데이터의 확장 방법을 설명하는 도면이다. 설명의 편의를 위하여, 뉴럴 네트워크의 입력 데이터가 이미지임을 가정하기로 한다.
도 6을 참조하면, 제1 데이터 베이스(DB1)는 복수의 초기 트레이닝 이미지(TIMGi)를 포함할 수 있다. 제1 데이터 베이스(DB1)은 트레이닝 데이터베이스일 수 있다. 뉴럴 네트워크는 초기 트레이닝 이미지(TIMGi)를 기초로 트레이닝될 수 있다.
제2 데이터 베이스(DB2), 예컨대 외부 데이터 베이스는 복수의 주석을 포함하지 않는 이미지(UAIMG)(unannotated image)를 포함할 수 있다. 예컨대, 주석을 포함하지 않는 이미지(UAIMG)는 뉴럴 네트워크 시스템이 적용되는 전자 장치의 카메라에 의해 획득된 이미지, 또는 네트워크 통신망을 통해 수집된 이미지일 수 있다.
트레이닝된 뉴럴 네트워크를 기초로 복수의 주석을 포함하지 않는 이미지(UAIMG)에 대하여 추론이 수행될 수 있다. 이에 따라, 복수의 주석을 포함하지 않는 이미지(UAIMG) 각각에 대하여 주석 및 신뢰도가 추출될 수 있다. 복수의 주석을 포함하지 않는 이미지(UAIMG) 각각에 대하여 주석 및 신뢰도가 라벨링될 수 있다. 다시 말해서, 복수의 주석을 포함하는 이미지(AIMG)가 생성될 수 있다.
복수의 주석을 포함하는 이미지(AIMG) 중 임계 값 이상의 신뢰도(R)를 갖는 이미지가 선택될 수 있다. 예컨대, 임계 값은 0.9이고, 0.9 이상의 신뢰도(R)를 갖는 이미지가 기준 이미지(RIMG)로서 선택될 수 있다.
기준 이미지(RIMG)를 기초로 데이터 확장이 수행될 수 있다. 기준 이미지(RIMG)가 다양한 방식으로 변형됨으로써 복수의 변형된 이미지(FIMG)가 생성될 수 있다. 복수의 변형된 이미지(FIMG)는 기준 이미지(RIMG)와 동일한 주석을 포함하지만, 복수의 변형된 이미지(FIMG)의 신뢰도(R)는 기준 이미지(RIMG)보다 낮을 수 있다. 예를 들어, 복수의 변형된 이미지(FIMG)는 각각 0.95, 0.7, 0.5 및 0.75의 신뢰도(R)를 가질 수 있다.
신뢰도(R)를 기초로 복수의 변형된 이미지(FIMG) 중 적어도 하나의 이미지가 선택될 수 있다. 예를 들어, 기준 값 이상의 신뢰도(R)를 갖는 변형된 이미지(FIMG)가 선택될 수 있다. 예컨대, 기준 값이 0.75일 경우, 복수의 변형된 이미지(FIMG) 중 0.75 및 0.86의 신뢰도(R)를 갖는 이미지가 선택될 수 있다.
선택된 이미지(SIMG)가 제1 데이터베이스(DB1)에 트레이닝 이미지로서 추가될 수 있다. 제1 데이터베이스(DB1)는 복수의 초기 트레이닝 이미지(TIMGi) 및 복수의 추가된 이미지(TIMGa)를 포함할 수 있다. 이로써, 트레이닝 이미지의 개수가 증가될 수 있다. 다시 말해서 제1 데이터베이스(DB1)이 확장될 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 학습 방법을 나타내는 흐름도이다. 도 3의 방법은 도 1의 전자 시스템(100)에서 수행될 수 있으며, 도 1 내지 도 6을 참조하여 설명한 내용은 본 실시예에 적용될 수 있다.
도 1 및 도 7을 참조하면, 학습 모듈(110)은 트레이닝 데이터를 확장하고(S310), 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝할 수 있다(S320). S310단계 및 S320 단계는 도 5를 참조하여 설명한바 중복되는 설명은 생략하기로 한다.
이후, 학습 모듈(110)은 소정의 조건을 만족하는지 여부를 확인할 수 있다(S330). 예컨대 상기 조건은 학습 종료 조건일 수 있다.
실시예에 있어서, 학습 모듈(110)은 추가된 트레이닝 데이터의 양이 설정된 양 이상인지 확인할 수 있다. 다시 말해서, 학습 모듈(110)은 추가된 트레이닝 데이터의 양이 충분한지 여부를 판단할 수 있다. 추가될 트레이닝 데이터의 양이 미리 설정되고, 학습 모듈(110)은 추가된 트레이닝 데이터의 양이 설정된 양 이상인지 판단할 수 있다. 예를 들어, 초기 트레이닝 데이터가 1000장의 이미지를 포함하고, 초기 트레이닝 데이터와 동일한 수의 이미지가 트레이닝 데이터로서 추가되도록 설정된 경우, 학습 모듈(110)은 추가된 트레이닝 이미지가 1000장 이상이면 상기 조건을 만족하였다고 판단할 수 있다.
실시예에 있어서, 학습 모듈(110)은 재 트레이닝된 뉴럴 네트워크의 성능을 기초로 상기 조건의 만족 여부를 판단할 수 있다. 예를 들어, 학습 모듈(110)은 재 트레이닝된 뉴럴 네트워크의 성능을 측정하고, 측정된 성능이 기준 레벨 이상이면, 조건을 만족하였다고 판단할 수 있다.
학습 모듈(110)은 조건을 만족하지 못했다고 판단되면, 단계 S310 및 단계 S320)을 다시 수행할 수 있다. 예컨대, 학습 모듈(110)은 추가된 트레이닝 이미지가 1000장에 도달할 때까지 단계 S310 및 단계 S320)을 반복 수행할 수 있다. 다른 예로서, 학습 모듈(110)은 재 트레이닝된 뉴럴 네트워크의 성능이 기준 레벨에 도달할 때까지 단계 S310 및 단계 S320)을 반복 수행할 수 있다.
학습 모듈(110)은 조건이 만족되었다고 판단되면, 학습 단계를 종료할 수 있다.
도 8은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템의 추론 결과 및 데이터 확장을 설명하는 도면이다. 도 8은 도 5의 단계 S210 및 S220을 도시한다.
도 8을 참조하면, 트레이닝된 뉴럴 네트워크를 기초로 추론이 수행되고, 뉴럴 네트워크의 목적에 따라 결과가 추출될 수 있다. 예컨대, 도 8에 도시된 바와 같이, 입력 데이터가 이미지이고, 추론 결과로서, 그 결과로서, 얼굴, 얼굴의 위치 및 영역에 대한 정보가 추출될 수 있다. 예를 들어 제1 이미지(IMG1)에 대하여 얼굴, 얼굴의 위치 및 영역에 대한 정보를 포함하는 바운딩 박스(BB1, BB2)에 대한 정보가 추출될 수 있다. 이때, 제1 바운딩 박스(BB1)의 신뢰도(R)는 0.95이고, 제2 바운딩 박스(BB2)의 신뢰도(R)는 0.55일 수 있다.
임계 값 이상의 신뢰도를 갖는 이미지에 대하여 데이터 확장이 수행될 수 있다. 예컨대, 임계 값이 0.8이면, 0.95의 신뢰도(R)를 갖는 제1 바운딩 박스(BB1) 내의 이미지에 대하여 이미지 변형이 수행될 수 있다. 예를 들어, 도 8에 도시된 바와 같이, 얼굴의 표정이 변경될 수 있다. 또한, 노이즈가 추가되거나, 이미지가 회전하거나, 또는 이미지가 얼굴의 일부가 크롭되는 등의 이미지 변형이 수행될 수 있다. 변형된 이미지에서 제1 바운딩 박스(BB1)에 대한 정보는 변경되지 않으며, 다만 신뢰도(R)가 감소될 수 있다. 예컨대 변경된 제2 이미지(IMG2)에서 제1 바운딩 박스(BB1)에 대한 신뢰도(R)가 0.8로 감소될 수 있다.
도 9a 및 도 9b는 본 개시의 예시적 실시예에 따른 신뢰도 분포를 나타낸다.도 9a 및 도 9b의 신뢰도 분포는 트레이닝 데이터의 확장 단계, 예컨대 도 5의 S230 단계에서 이용될 수 있다. 도 9a 및 도 9b에서 가로축은 신뢰도이고, 세로축은 트레이닝 데이터로서 추가되는 데이터의 양을 나타낸다.
도 9a를 참조하면, 기준 값(RR) 이상의 신뢰도를 갖는 데이터 중에서, 상대적으로 높은 신뢰도를 갖는 데이터가 트레이닝 데이터로 추가되도록 신뢰도 분포가 설정될 수 있다. 이에 따라, 데이터가 트레이닝 데이터로서 추가될 경우, 뉴럴 네트워크 학습에 사용되었던 트레이닝 데이터(종래 트레이닝 데이터라고 함)와 유사한 데이터 위주로 트레이닝 데이터가 추가되므로, 종래 트레이닝 데이터를 강화하는 효과가 발생한다.
반대로 도 9b를 참조하면 기준 값(RR) 이상의 신뢰도를 갖는 데이터 중에서, 상대적으로 낮은 신뢰도를 갖는 데이터가 트레이닝 데이터로 추가되도록 신뢰도 분포가 설정될 수 있다. 이에 따라 데이터가 트레이닝 데이터로서 추가될 경우, 뉴럴 네트워크 학습에 사용되었던 트레이닝 데이터(종래 트레이닝 데이터라고 함)와 비유사한 데이터 위주로 트레이닝 데이터가 추가되므로, 종래 트레이닝 데이터에는 없던 데이터가 트레이닝 데이터로서 추가될 수 있다. 예를 들어, 뉴럴 네트워크가 자동차 검출 동작을 수행할 경우, 신규 자동차가 생성되더라도, 신규 자동차에 대한 데이터가 트레이닝 데이터로서 추가될 수 있다.
도 10a 및 도 10b는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 시스템에서 신뢰도 분포에 따라 데이터를 트레이닝 데이터에 추가하는 방법을 나타낸다.
도 10a를 참조하면, 0.6의 기준 값 이상의 신뢰도를 갖는 데이터가 트레이닝 데이터로서 추가될 수 있다. 이때, 0.6 이상의 신뢰도 영역은 복수의 신뢰도 범위(RR1, RR2, RR3, RR4)로 구분될 수 있으며, 복수의 신뢰도 범위(RR1, RR2, RR3, RR4) 각각에 대하여 도 10b에 도시된 바와 같이, 추가되는 총 데이터량에 대한 비율이 설정될 수 있다. 예를 들어, 총 100장의 이미지가 트레이닝 데이터로서 추가될 경우, 제1 신뢰도 범위(RR1)에 포함되는 이미지가 5장, 제2 신뢰도 범위(RR2)에 포함되는 이미지가 10장, 제3 신뢰도 범위(RR3)에 포함되는 이미지가 25장, 제4 신뢰도 범위(RR4)에 포함되는 이미지가 60장 추가될 수 있다.
도 11, 도 12, 도 13 및 14는 본 개시의 예시적 실시예에 따른 트레이닝 데이터의 추가를 예시적으로 나타낸다. 설명의 편의를 위하여, 트레이닝 데이터는 이미지를 가정하여 설명하기로 한다.
도 11은 트레이닝 데이터의 추가에 의하여 트레이닝 데이터의 신뢰도가 증가되는 예를 나타낸다.
도 11을 참조하면, 제1 데이터베이스(DB1), 예컨대 트레이닝 데이터베이스는 복수의 트레이닝 이미지를 포함할 수 있다. 이때, 복수의 트레이닝 이미지의 전체 신뢰도(Rtot)는 0.8일 수 있다. 제2 데이터 베이스(DB2), 예컨대 주석을 포함하지 않는 데이터베이스는 복수의 수집된 이미지(M1~Mk)(k는 양의 정수)를 포함할 수 있으며, 복수의 수집된 이미지(M1~Mk)에 대하여 제1 데이터 베이스(DB1)를 기초로 트레이닝된 뉴럴 네트워크를 이용한 추론이 수행되고, 이에 따라 복수의 수집된 이미지(M1~Mk)에 대하여 주석 및 주석에 대한 신뢰도가 추출될 수 있다. 또한, 주석이 추출된 이미지 중 신뢰도가 상대적으로 높은 이미지를 기초로 데이터 강화가 수행됨으로써, 복수의 변형된 이미지(FIMG)가 생성될 수 있다.
복수의 변형된 이미지(FIMG) 중 신뢰도가 높은 이미지, 예컨대 신뢰도가 0.85 이상인 이미지가 트레이닝 데이터로서 제1 데이터 베이스(DB1)에 추가될 수 있다. 이에 따라, 확장된 트레이닝 데이터, 다시 말해서, 제1 데이터베이스(DB1)에 포함되는 복수의 트레이닝 이미지의 전체 신뢰도(Rtot)가 증가될 수 있다.
이와 같이, 초기 트레이닝 데이터의 신뢰도가 낮더라도, 높은 신뢰도를 기준으로 트레이닝 데이터가 추가됨으로써, 트레이닝 데이터의 신뢰도가 증가될 수 있다.
도 12는 특정 데이터가 트레이닝 데이터로서 추가되는 예를 나타낸다. 도 12는 특정 사용자가 이용하는 장치, 예컨대 스마트폰, 테블릿 PC와 등의 모바일 단말에서, 트레이닝 데이터의 추가를 나타낸다.
도 12를 참조하면, 제1 데이터베이스(DB1)는 복수의 트레이닝 이미지(N1~Nn)를 포함하고, 제2 데이터베이스(DB2)는 복수의 수집된 이미지(M1~Mk, O1, O2)(k 는 양의 정수)를 포함할 수 있다. 이때, 이미지 M1 내지 Mk는 사용자의 이미지이고, O1 및 O2는 다른 이미지, 예컨대 다른 사용자의 이미지일 수 있다. 모바일 단말은 주로 사용자가 이용하므로, 제2 데이터베이스(DB2)에는 사용자의 이미지가 주로 저장될 수 있다.
복수의 수집된 이미지(M1~Mk, O1, O2)에 대하여 제1 데이터 베이스(DB1)를 기초로 트레이닝된 뉴럴 네트워크를 이용한 추론이 수행되고, 이에 따라 복수의 수집된 이미지(M1~Mk, O1, O2)에 대하여 주석 및 주석에 대한 신뢰도가 추출될 수 있다. 또한, 주석이 추출된 이미지 중 신뢰도가 상대적으로 높은 이미지를 기초로 데이터 강화가 수행됨으로써, 복수의 변형된 이미지(FIMG)가 생성될 수 있다.
복수의 변형된 이미지(FIMG)는 사용자의 이미지, 예컨대 이미지 M1에 기초하여 변형된 이미지 M1a, M1b, M1c 및 M1d를 포함하고, 다른 사용자의 이미지, 예컨대 O1에 기초하여 변형된 이미지 O1a, O1b를 포함할 수 있다. 모바일 단말에서는, 복수의 변형된 이미지(FIMG)는 주로 사용자의 이미지에 기초하여 변형된 이미지를 포함할 수 있다.
복수의 변형된 이미지(FIMG) 중 적어도 일부가 트레이닝 데이터로서 제1 데이터 베이스(DB1)에 추가될 수 있다. 이에 따라, 확장된 트레이닝 데이터, 다시 말해서, 제1 데이터베이스(DB1)에 포함되는 복수의 트레이닝 이미지에서, 사용자와 관련된 트레이닝 이미지의 비율이 증가될 수 있다.
예를 들어, 모바일 단말에서 수집된 이미지, 예컨대 카메라에 의해 촬상된 이미지에서 사람의 얼굴을 검출하고, 검출된 이미지에 대하여 태그(예컨대 이름 등)를 생성하는 뉴럴 네트워크의 경우, 모바일 단말의 특성상, 검출하는 대상이 제한적일 수 있다. 예컨대, 주로 검출하는 대상은 사용자의 이미지일 수 있다. 본 실시예에 따르면 트레이닝 데이터에서 사용자의 이미지 비율이 증가됨으로써, 트레이닝 데이터에 기초하여 재 트레이닝된 뉴럴 네트워크는 이미지에서 사용자의 얼굴을 검출하는 성능이 향상될 수 있다.
도 13은 적은 양의 트레이닝 데이터에 상대적으로 많은 양의 트레이닝 데이터가 추가되는 예를 나타낸다.
도 13을 참조하면, 제1 데이터베이스(DB1)는 복수의 트레이닝 이미지(N1~Nn)를 포함하고, 제2 데이터베이스(DB2)는 복수의 수집된 이미지(M1~Mk)를 포함한다. 이때, 복수의 수집된 이미지(M1~Mk)의 양은 복수의 트레이닝 이미지(N1~Nn)의 양보다 상당히 많을 수 있다.
복수의 수집된 이미지(M1~Mk)에 대하여 제1 데이터 베이스(DB1)를 기초로 트레이닝된 뉴럴 네트워크를 이용한 추론이 수행되고, 이에 따라 복수의 수집된 이미지(M1~Mk)에 대하여 주석 및 주석에 대한 신뢰도가 추출될 수 있다. 또한, 주석이 추출된 이미지 중 신뢰도가 상대적으로 높은 이미지를 기초로 데이터 강화가 수행될 수 있다.
데이터 강화에 의해 생성되는 많은 양의 복수의 변형된 이미지(FIMG)(예컨대 M1a~Mkc)가 제1 데이터 베이스(DB1)에 추가될 수 있다. 이에 따라, 트레이닝 데이터에서 추가된 데이터의 비율이 크게 증가할 수 있다.
암과 같은 질병의 판정, 성장판 검출 등 의료용 이미지의 경우, 주석을 포함하는 트레이닝 이미지 양이 적을 수 있다. 반면, 주석을 포함하지 않은 검사 혹은 검진된 이미지, 즉 수집된 이미지의 양은 상당할 수 있다. 이때, 적은 양의 트레이닝 이미지를 기초로 뉴럴 네트워크가 학습될 경우, 다양한 나이, 성별, 합병 증상 등의 펙터에 대한 고려 없이 뉴럴 네트워크가 학습될 수 있으며, 이에 따라 뉴럴 네트워크의 정확도가 저하될 수 있다. 그러나, 본 개시의 실시예에 따른 학습 방법에 따르면, 주석을 포함하지 않는 이미지가 트레이닝 이미지로서 활용될 수 있는 바, 뉴럴 네트워크의 정확도가 향상될 수 있다.
도 14는 많은 양의 트레이닝 데이터에 많은 양의 트레이닝 데이터가 추가되는 예를 나타낸다.
도 14를 참조하면, 제1 데이터베이스(DB1)는 복수의 트레이닝 이미지(N1~Nn)를 포함하고, 제2 데이터베이스(DB2)는 복수의 수집된 이미지(M1~Mk)를 포함한다.
복수의 수집된 이미지(M1~Mk)에 대하여 제1 데이터 베이스(DB1)를 기초로 트레이닝된 뉴럴 네트워크를 이용한 추론이 수행되고, 이에 따라 복수의 수집된 이미지(M1~Mk)에 대하여 주석 및 주석에 대한 신뢰도가 추출될 수 있다. 또한, 주석이 추출된 이미지 중 신뢰도가 상대적으로 높은 이미지를 기초로 데이터 강화가 수행될 수 있다. 많은 양의 복수의 변형된 이미지(FIMG)(예컨대 M1a~Mkc)가 제1 데이터 베이스(DB1)에 추가될 수 있다.
예를 들어, 뉴럴 네트워크가 자동차 검출 동작을 수행할 경우, 많은 양의 트레이닝 데이터를 기초로 뉴럴 네트워크가 트레이닝 될 수 있다. 그러나, 신규 자동차가 시장에 진입하거나, 기상 변화(예컨대 눈, 비, 조명)가 발생할 경우, 뉴럴 네트워크의 검출 성능이 저하될 수 있다. 그러나, 본 개시의 실시예에 따른 학습 방법에 따르면, 지속적으로 수집된 이미지 데이터가 트레이닝 데이터로서 추가되고,이에 따라 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크가 재 트레이닝 될 수 있는 바, 뉴럴 네트워크의 성능 저하가 방지될 수 있다.
도 15는 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 학습 장치의 블록도이다.
도 15를 참조하면, 뉴럴 네트워크 학습 장치(1000)는 프로세서(1100) 및 메모리(1200)를 포함할 수 있다. 도 15는 하나의 프로세서(1100)가 도시되었으나, 이에 제한되는 것은 아니며 뉴럴 네트워크 학습 장치(1000)는 복수의 프로세서를 포함할 수도 있다.
프로세서(1100)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.
프로세서(1100)는 도 1 내지 도 14를 참고하여 전술한 학습 모듈의 동작, 예컨대 트레이닝 데이터 확장 및 재 트레이닝을 수행할 수 있다. 예컨대, 프로세서(1100)는 트레이닝 데이터베이스에 포함된 트레이닝 데이터, 예컨대 초기 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 수집된 데이터에 대하여 추론을 수행함으로써 수집된 데이터에 대한 주석을 추출하고, 주석이 추출된 데이터 중 주석이 임계 값 이상의 신뢰도를 갖는 기준 데이터를 기초로 트레이닝 데이터를 추가하고, 추가된 트레이닝 데이터 및 초기 트레이닝 데이터를 기초로 뉴럴 네트워크에 대한 재 트레이닝을 수행할 수 있다. 프로세서(1100)는 설정된 비율에 따라 트레이닝 데이터를 추가할 수 있으며, 추가된 트레이닝 데이터의 양이 설정된 양, 즉 설정된 추가량에 도달하거나 또는 뉴럴 네트워크의 성능이 기준 레벨에 도달할 때까지 트레이닝 데이터의 추가를 반복할 수 있다.
한편, 프로세서(1100)는 프로세서(1100) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(1100)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템 온 칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(1200)는 프로세서(1100)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(1200)는 도 1을 참조하여 설명한 학습 모듈(110), 데이터 인식 모듈(120)의 기능이 구현된 복수의 모듈을 포함할 수 있다. 또한, 메모리(1200)는 트레이닝 데이터베이스(또는 제1 데이터베이스)(도 1의 130, 도 6 및 도 11 내지 14의 DB1), 및 주석을 포함하지 않는 데이터데이스(또는 제2 데이터베이스)(도 6 및 도 11 내지 14의 DB2)를 포함할 수 있다.
도 16은 본 개시의 예시적 실시예에 따른 집적 회로 및 이를 포함하는 장치를 나타내는 블록도이다.
장치(2000)는 집적 회로(2100) 및, 집적 회로(2100)에 연결되는 구성들, 예컨대 센서(2200), 디스플레이 장치(2300), 메모리(2400)를 포함할 수 있다. 장치(2000)는 뉴럴 네트워크 기반으로 데이터를 처리하는 장치일 수 있다. 예를 들어, 장치(2000)는 스마트 폰, 게임 장치, ADAS, 웨어러블 장치 등과 같은 모바일 장치 또는 데이터 서버일 수 있다.
본 개시의 예시적 실시예에 따른 집적 회로(2100)는 CPU(2110), RAM(2120), GPU(2130), 컴퓨팅 장치(2140), 센서 인터페이스(2150), 디스플레이 인터페이스(2160) 및 메모리 인터페이스(2170)를 포함할 수 있다. 이 외에도 집적 회로(2100)는 통신 모듈, DSP(Digital Signal Processor), 비디오 모듈 등 다른 범용적인 구성요소들을 더 포함할 수 있으며, 집적 회로(2100)의 각 구성(CPU(2110), RAM(2120), GPU(2130), 컴퓨팅 장치(2140), 센서 인터페이스(2150), 디스플레이 인터페이스(2160) 및 메모리 인터페이스(2170))은 버스(2180)를 통해 서로 데이터를 송수신할 수 있다. 실시예에 있어서, 집적 회로(2100)는 애플리케이션 프로세서일 수 있다. 실시예에 있어서, 집적 회로(2100)는 시스템 온 칩(SoC)로서 구현될 수 있다.
CPU(2110)는 집적 회로(2100)의 전반적인 동작을 제어할 수 있다. CPU(2110)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. CPU(2110)는 메모리(2170)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 실시예에 있어서, CPU(2110)는 메모리(2170)에 저장된 프로그램들을 실행함으로써, 본 개시의 실시예들에 따른 뉴럴 네트워크 학습 방법, 예컨대 트레이닝 데이터 확장 및 재 트레이닝을 수행할 수 있다.
RAM(2120)은 프로그램들, 데이터, 및/또는 명령들(instructions)을 일시적으로 저장할 수 있다. 실시 예에 따라, RAM(2120)은 DRAM 또는 SRAM으로 구현될 수 있다. RAM(2120)은 인터페이스들(2150, 2160)을 통해 입출력되거나, GPU(2130) 또는 CPU(2110)에서 생성되는 데이터, 예컨대 이미지 데이터를 일시적으로 저장할 수 있다.
실시예에 있어서, 집적 회로(2100)는 ROM(Read Only Memory)을 더 구비할 수 있다. ROM은 지속적으로 사용되는 프로그램들 및/또는 데이터를 저장할 수 있다. ROM은 EPROM(erasable programmable ROM) 또는 EEPROM(electrically erasable programmable ROM) 등으로 구현될 수 있다.
GPU(2130)는 영상 데이터에 대한 이미지 처리를 수행할 수 있다. 예컨대 GPU(2130)는 센서 인터페이스(2150)를 통해 수신되는 영상 데이터에 대한 이미지 처리를 수행할 수 있다. GPU(2130)에서 처리된 영상 데이터는 메모리(2170)에 저장되거나 또는 디스플레이 인터페이스(2160)를 통해 디스플레이 장치(2160)로 제공될 수 있다.
컴퓨팅 장치(2160)는 뉴럴 네트워크 연산을 수행하기 위한 가속기를 포함할수 있다. 예컨대 컴퓨팅 장치(2160)은 NPU를 포함할 수 있다. 실시예에 있어서, GPU(2130) 또는 컴퓨팅 장치(2160)가 뉴럴 네트워크의 학습 단계 또는 데이터 인식 단계에서, 뉴럴 네트워크의 연산을 수행할 수 있다.
센서 인터페이스(2150)는 집적 회로(2100)에 연결되는 센서(2200)로부터 입력되는 데이터(예컨대, 영상 데이터, 음성 데이터 등)를 수신할 수 있다.
디스플레이 인터페이스(2160)는 디스플레이 장치(2160)로 데이터(예컨대, 이미지)를 출력할 수 있다. 디스플레이 장치(2300)는 이미지 데이터 또는 영상 데이터를 LCD(Liquid-crystal display), AMOLED(active matrix organic light emitting diodes) 등의 디스플레이를 통해 출력할 수 있다.
메모리 인터페이스(2170)는 집적 회로(2100)의 외부에 있는 메모리(240)로부터 입력되는 데이터 또는 메모리(2400)로 출력되는 데이터를 인터페이싱할 수 있다. 실시예에 따라, 메모리(2400)는 DRAM이나 SRAM 등의 휘발성 메모리 또는 ReRAM, PRAM 또는 NAND flash 등의 비휘발성 메모리로 구현될 수 있다. 메모리(2400)는 메모리 카드(MMC, eMMC, SD, micro SD) 등으로 구현될 수도 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 전자 시스템 110: 학습 모듈
120: 데이터 인식 모듈 130: 트레이닝 데이터베이스
1000: 뉴럴 네트워크 학습 장치 1100: 프로세서
1200: 메모리 2100: 집적 회로
120: 데이터 인식 모듈 130: 트레이닝 데이터베이스
1000: 뉴럴 네트워크 학습 장치 1100: 프로세서
1200: 메모리 2100: 집적 회로
Claims (20)
- 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 제1 데이터에 대하여 주석 및 신뢰도를 추출하는 단계;
상기 제1 데이터 중 임계 값 이상의 신뢰도를 갖는 제2 데이터를 선택하는 단계;
상기 제2 데이터를 기초로 상기 트레이닝 데이터를 확장하는 단계; 및
상기 확장된 트레이닝 데이터를 기초로 뉴럴 네트워크를 재 트레이닝하는 단계를 포함하는, 뉴럴 네트워크 학습 방법. - 제1 항에 있어서, 상기 트레이닝 데이터를 확장하는 단계는,
상기 제2 데이터를 복수의 방식을 이용하여 변형함으로써 상기 제2 데이터와 동일한 주석을 갖는 제3 데이터를 생성하는 단계;
상기 제3 데이터 중 적어도 일부에 해당하는 제4 데이터를 상기 트레이닝 데이터에 추가하는 단계를 포함하는, 뉴럴 네트워크 학습 방법. - 제2 항에 있어서, 상기 제4 데이터를 상기 트레이닝 데이터에 추가하는 단계는,
상기 제3 데이터에 대한 신뢰도를 추출하는 단계;
상기 제3 데이터 중 기준 값 이상의 신뢰도를 갖는 상기 제4 데이터를 선택하는 단계; 및
상기 제4 데이터 및 상기 제4 데이터의 주석을 상기 트레이닝 데이터에 추가하는 단계를 포함하는, 뉴럴 네트워크 학습 방법. - 제4 항에 있어서, 상기 제4 데이터를 선택하는 단계는,
상기 트레이닝 데이터의 양에 대하여 설정된 비율에 해당하는 양만큼 상기 제4 데이터를 선택하는 것을 특징으로 하는, 뉴럴 네트워크 학습 방법. - 제3 항에 있어서, 상기 제4 데이터를 선택하는 단계는,
선택되는 데이터와 관련하여 설정된 신뢰도 분포를 기초로, 상기 제3 데이터 중 상기 제4 데이터를 선택하는 단계를 포함하는, 뉴럴 네트워크 학습 방법. - 제1 항에 있어서,
상기 재 트레이닝이 수행된 상기 뉴럴 네트워크의 성능을 측정하는 단계; 및
상기 뉴럴 네트워크의 성능이 임계 레벨 미만이면,
상기 임계값을 조정하는 단계; 및
조정된 상기 임계값을 기초로 상기 제1 데이터에서 상기 제2 데이터를 재선택하는 단계를 포함하는 뉴럴 네트워크 학습 방법. - 제1 항에 있어서,
학습 종료 조건 만족 여부를 판단하는 단계;
상기 학습 종료 조건이 만족되었으면, 재 트레이닝된 상기 뉴럴 네트워크를 출력하는 단계;
상기 학습 종료 조건이 만족되지 못했으면, 상기 주석 및 상기 신뢰도를 추출하는 단계를 재 수행하는 것을 특징으로 하는 뉴럴 네트워크 학습 방법. - 제7 항에 있어서, 상기 학습 종료 조건 만족 여부를 판단하는 단계는,
상기 확장된 트레이닝 데이터의 양이 설정량 이상이면 상기 종료 조건이 만족되었다고 판단하는 것을 특징으로 하는 뉴럴 네트워크 학습 방법. - 제7 항에 있어서, 상기 학습 종료 조건 만족 여부를 판단하는 단계는,
상기 재 트레이닝이 수행된 상기 뉴럴 네트워크의 성능이 기준 레벨 이상이면, 상기 학습 종료 조건이 만족되었다고 판단하는 것을 특징으로 하는 뉴럴 네트워크 학습 방법. - 하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 적어도 하나의 프로세서는,
초기 트레이닝 데이터를 기초로 트레이닝된 뉴럴 네트워크를 이용하여, 수집된 데이터에 대하여 추론을 수행함으로써 상기 수집된 데이터에 대한 주석을 추출하고,
상기 수집된 데이터 중 상기 주석이 임계 값 이상의 신뢰도를 갖는 기준 데이터를 기초로 트레이닝 데이터를 추가하고,
추가된 트레이닝 데이터 및 상기 초기 트레이닝 데이터를 기초로 상기 뉴럴 네트워크에 대한 재 트레이닝을 수행하는, 뉴럴 네트워크 학습 장치. - 제10 항에 있어서, 상기 적어도 하나의 프로세서는,
상기 기준 데이터를 복수의 가공 방식 각각을 기초로 가공하고, 가공된 데이터 중 기준 값 이상의 신뢰도를 갖는 데이터를 상기 트레이닝 데이터로 추가하는 것을 특징으로 하는 뉴럴 네트워크 학습 장치. - 제10 항에 있어서, 상기 적어도 하나의 프로세서는,
추가되는 데이터의 양이, 상기 기준 값 이상의 복수의 신뢰도 범위 각각에 설정된 기준량에 부합하도록 상기 신뢰도를 기초로 상기 가공된 데이터 중 상기 트레이닝 데이터로 추가되는 데이터를 선택하는 것을 특징으로 하는, 뉴럴 네트워크 학습 장치. - 제10 항에 있어서, 상기 적어도 하나의 프로세서는,
상기 초기 트레이닝 데이터의 양에 대한 소정의 비율에 해당하는 양만큼 상기 트레이닝 데이터를 추가하는 것을 특징으로 하는, 뉴럴 네트워크 학습 장치. - 제13 항에 있어서, 상기 비율은,
0보다 크고 1이하인 것을 특징으로 하는, 뉴럴 네트워크 학습 장치. - 제13 항에 있어서, 적어도 하나의 프로세서는,
상기 추가된 트레이닝 데이터의 양이 설정된 추가 량에 도달하거나 또는 상기 재 트레이닝된 상기 뉴럴 네트워크의 성능이 설정된 기준 레벨에 도달하도록, 상기 입력 데이터에 대한 주석 추출, 상기 트레이닝 데이터 추가 및 상기 재 트레이닝을 반복하는 것을 특징으로 하는, 뉴럴 네트워크 학습 장치. - 제10 항에 있어서, 상기 적어도 하나의 프로세서는,
상기 추론 및 상기 재 트레이닝 시 이용되는 상기 뉴럴 네트워크의 연산을 수행하는 적어도 하나의 가속기를 포함하는 것을 특징으로 하는, 뉴럴 네트워크 학습 장치. - 제10 항에 있어서, 상기 뉴럴 네트워크 학습 장치
어플리케이션 프로세서, 데이터 서버, Advanced Driver-Assistance System 중 적어도 하나에 구비되는 것을 특징으로 하는 뉴럴 네트워크 학습 장치. - 주석을 포함하지 않는 수집된 데이터를 상기 주석을 포함하도록 가공하고, 가공된 데이터를 상기 주석에 대한 신뢰도를 기초로 선별적으로 트레이닝 데이터 베이스에 추가함으로써 상기 트레이닝 데이터 베이스를 확장하고, 확장된 트레이닝 데이터 베이스를 기초로 뉴럴 네트워크를 재 트레이닝하는 학습 모듈; 및
재 트레이닝된 상기 뉴럴 네트워크를 기초로, 입력되는 데이터에 대한 추론을 수행함으로써, 상기 입력 데이터에 대한 인식 정보를 추출하는 데이터 인식 모듈을 포함하는, 뉴럴 네트워크 시스템. - 제18 항에 있어서, 상기 학습 모듈은,
상기 트레이닝 데이터 베이스를 기초로 트레이닝된 초기 뉴럴 네트워크를 이용하여, 상기 주석을 포함하지 않는 데이터로부터 상기 주석을 추출하고, 상기 주석을 포함하지 않는 데이터에 상기 주석을 라벨링하고,
라벨링된 데이터 중 상기 주석의 신뢰도가 임계 값 이상인 데이터를 선택하여 변형하고,
변형된 데이터 중 적어도 일부를 상기 트레이닝 데이터 베이스에 추가하는 것을 특징으로 하는, 뉴럴 네트워크 시스템. - 제18 항에 있어서, 상기 학습 모듈은,
상기 트레이닝 데이터 베이스의 초기 데이터량에 대한 소정의 비율에 해당하는 양만큼 상기 가공된 데이터 중 상기 트레이닝 데이터 베이스에 추가되는 데이터를 선택하는 것을 특징으로 하는, 뉴럴 네트워크 시스템.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200021798A KR20210106814A (ko) | 2020-02-21 | 2020-02-21 | 뉴럴 네트워크 학습 방법 및 장치 |
US17/033,088 US20210264260A1 (en) | 2020-02-21 | 2020-09-25 | Method and device for training neural network |
DE102020127185.9A DE102020127185A1 (de) | 2020-02-21 | 2020-10-15 | Verfahren und Vorrichtung zum Trainieren eines neuronalen Netzes |
CN202110190079.9A CN113298227A (zh) | 2020-02-21 | 2021-02-18 | 用于训练神经网络的方法和装置以及神经网络系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200021798A KR20210106814A (ko) | 2020-02-21 | 2020-02-21 | 뉴럴 네트워크 학습 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210106814A true KR20210106814A (ko) | 2021-08-31 |
Family
ID=77176339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200021798A KR20210106814A (ko) | 2020-02-21 | 2020-02-21 | 뉴럴 네트워크 학습 방법 및 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210264260A1 (ko) |
KR (1) | KR20210106814A (ko) |
CN (1) | CN113298227A (ko) |
DE (1) | DE102020127185A1 (ko) |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8401293B2 (en) * | 2010-05-03 | 2013-03-19 | Microsoft Corporation | Word recognition of text undergoing an OCR process |
US20180373980A1 (en) * | 2017-06-27 | 2018-12-27 | drive.ai Inc. | Method for training and refining an artificial intelligence |
JP2019020893A (ja) * | 2017-07-13 | 2019-02-07 | 国立研究開発法人情報通信研究機構 | ノン・ファクトイド型質問応答装置 |
JP7197971B2 (ja) * | 2017-08-31 | 2022-12-28 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法及びプログラム |
JP2019087012A (ja) * | 2017-11-07 | 2019-06-06 | キヤノン株式会社 | 情報処理装置、情報処理方法、コンピュータプログラム、及び記憶媒体 |
US11200511B1 (en) * | 2017-11-17 | 2021-12-14 | Amazon Technologies, Inc. | Adaptive sampling of training data for machine learning models based on PAC-bayes analysis of risk bounds |
JP6933164B2 (ja) * | 2018-03-08 | 2021-09-08 | 株式会社Jvcケンウッド | 学習用データ作成装置、学習用モデル作成システム、学習用データ作成方法、及びプログラム |
JP7052866B2 (ja) * | 2018-04-18 | 2022-04-12 | 日本電信電話株式会社 | 自己訓練データ選別装置、推定モデル学習装置、自己訓練データ選別方法、推定モデル学習方法、およびプログラム |
KR102575580B1 (ko) | 2018-08-21 | 2023-09-06 | 쑤저우 레킨 세미컨덕터 컴퍼니 리미티드 | 반도체 소자 |
US11954881B2 (en) * | 2018-08-28 | 2024-04-09 | Apple Inc. | Semi-supervised learning using clustering as an additional constraint |
CN112868032B (zh) * | 2018-10-15 | 2024-09-20 | 华为技术有限公司 | 提升ai识别学习能力 |
US11269911B1 (en) * | 2018-11-23 | 2022-03-08 | Amazon Technologies, Inc. | Using specified performance attributes to configure machine learning pipeline stages for an ETL job |
US20200193552A1 (en) * | 2018-12-18 | 2020-06-18 | Slyce Acquisition Inc. | Sparse learning for computer vision |
CN109902708B (zh) * | 2018-12-29 | 2022-05-10 | 华为技术有限公司 | 一种推荐模型训练方法及相关装置 |
CN109840588B (zh) * | 2019-01-04 | 2023-09-08 | 平安科技(深圳)有限公司 | 神经网络模型训练方法、装置、计算机设备及存储介质 |
US10579907B1 (en) * | 2019-01-31 | 2020-03-03 | StradVision, Inc. | Method for automatically evaluating labeling reliability of training images for use in deep learning network to analyze images, and reliability-evaluating device using the same |
BR112021015306A2 (pt) * | 2019-02-05 | 2021-10-05 | Urugus S.A. | Método e sistema para transferir automaticamente conhecimento em algoritmos de aprendizado por máquina |
US11475358B2 (en) * | 2019-07-31 | 2022-10-18 | GE Precision Healthcare LLC | Annotation pipeline for machine learning algorithm training and optimization |
US11562236B2 (en) * | 2019-08-20 | 2023-01-24 | Lg Electronics Inc. | Automatically labeling capability for training and validation data for machine learning |
US11379260B2 (en) * | 2019-09-04 | 2022-07-05 | Oracle International Corporation | Automated semantic tagging |
US20210142168A1 (en) * | 2019-11-07 | 2021-05-13 | Nokia Technologies Oy | Methods and apparatuses for training neural networks |
US11645500B2 (en) * | 2019-12-03 | 2023-05-09 | Robust Machines, Inc. | Method and system for enhancing training data and improving performance for neural network models |
-
2020
- 2020-02-21 KR KR1020200021798A patent/KR20210106814A/ko active Search and Examination
- 2020-09-25 US US17/033,088 patent/US20210264260A1/en active Pending
- 2020-10-15 DE DE102020127185.9A patent/DE102020127185A1/de active Pending
-
2021
- 2021-02-18 CN CN202110190079.9A patent/CN113298227A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210264260A1 (en) | 2021-08-26 |
CN113298227A (zh) | 2021-08-24 |
DE102020127185A1 (de) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11670071B2 (en) | Fine-grained image recognition | |
US20220092351A1 (en) | Image classification method, neural network training method, and apparatus | |
US20240062369A1 (en) | Detection model training method and apparatus, computer device and storage medium | |
CN110070107B (zh) | 物体识别方法及装置 | |
US10275719B2 (en) | Hyper-parameter selection for deep convolutional networks | |
US10318848B2 (en) | Methods for object localization and image classification | |
CN111191583B (zh) | 基于卷积神经网络的空间目标识别系统及方法 | |
US10410096B2 (en) | Context-based priors for object detection in images | |
CN110674866A (zh) | 迁移学习特征金字塔网络对X-ray乳腺病灶图像检测方法 | |
WO2021184902A1 (zh) | 图像分类方法、装置、及其训练方法、装置、设备、介质 | |
CN109145979A (zh) | 敏感图像鉴定方法及终端系统 | |
CN111382686B (zh) | 一种基于半监督生成对抗网络的车道线检测方法 | |
WO2021051987A1 (zh) | 神经网络模型训练的方法和装置 | |
WO2014205231A1 (en) | Deep learning framework for generic object detection | |
US11816185B1 (en) | Multi-view image analysis using neural networks | |
US11270425B2 (en) | Coordinate estimation on n-spheres with spherical regression | |
US20210383224A1 (en) | Machine learning method and machine learning system involving data augmentation | |
WO2022127333A1 (zh) | 图像分割模型的训练方法、图像分割方法、装置、设备 | |
CN114332166A (zh) | 基于模态竞争协同网络的可见光红外目标跟踪方法及装置 | |
CN110704665A (zh) | 一种基于视觉注意力机制的图像特征表达方法及系统 | |
Buenaposada et al. | Improving multi-class Boosting-based object detection | |
Jain et al. | Fusion-driven deep feature network for enhanced object detection and tracking in video surveillance systems | |
CN118072141A (zh) | 一种面向低功耗除草机器人的轻量级杂草检测模型及检测方法 | |
KR20210106814A (ko) | 뉴럴 네트워크 학습 방법 및 장치 | |
CN115545143A (zh) | 神经网络训练的方法与装置、数据处理方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination |