KR20200022319A - 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법 - Google Patents
신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법 Download PDFInfo
- Publication number
- KR20200022319A KR20200022319A KR1020190059605A KR20190059605A KR20200022319A KR 20200022319 A KR20200022319 A KR 20200022319A KR 1020190059605 A KR1020190059605 A KR 1020190059605A KR 20190059605 A KR20190059605 A KR 20190059605A KR 20200022319 A KR20200022319 A KR 20200022319A
- Authority
- KR
- South Korea
- Prior art keywords
- neural network
- output
- format
- input
- matching
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 353
- 230000004927 fusion Effects 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims description 49
- 238000006243 chemical reaction Methods 0.000 claims description 58
- 230000006870 function Effects 0.000 claims description 47
- 230000004913 activation Effects 0.000 claims description 11
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000007500 overflow downdraw method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 37
- 238000013473 artificial intelligence Methods 0.000 description 15
- 230000009466 transformation Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 210000000225 synapse Anatomy 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 3
- 238000007499 fusion processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 210000003050 axon Anatomy 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000005056 cell body Anatomy 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 210000001787 dendrite Anatomy 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 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/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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
본 발명에 따른 신경망 융합 장치의 단위 신경망을 융합하는 방법은, 제 1 신경망 및 제 2 신경망의 메타 정보를 수집하는 단계, 상기 제 1 신경망의 출력 데이터를 상기 제 2 신경망의 입력 데이터로 정합하도록 상기 수집된 메타 정보를 이용하여 상기 제 1 신경망과 상기 제 2 신경망 사이에 정합 모듈을 연결하는 단계, 및 상기 정합 모듈에 의해 연결된 상기 제 1 및 제 2 신경망들을 통하여 상기 제 1 신경망의 입력 데이터로부터 상기 제 2 신경망의 출력 데이터를 얻기 위한 신경망 연동 서비스를 실행하는 단계를 포함할 수 있다.
Description
본 발명은 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법에 관한 것이다.
일반적으로, 인간 두뇌의 신경망은 수상돌기(Dendrite), 세포체(Soma), 축색(Axon) 등으로 구성되는 뉴런과 이를 연결하는 시냅스 등으로 연결 된다. 이들 뉴런과 시냅스 등이 여려 계층의 네트워크로 연결되고 전기 신호를 전달하여 두뇌가 동작한다. 컴퓨터 기술이 발달함에 따라 인간 두뇌 신경망의 뉴런과 시냅스의 동작을 모사하여 동작하는 인공 신경망이 등장하였다. 인공 신경망은 시냅스와 같은 뉴런간 연결마다 가중치를 부여하고, 가중치를 부여한 입력을 가공하여 출력신호를 발생시키는 기본 구조와 이것들을 네트워크 형태로 연결한 구조를 가지고 있다. 인공지능 서비스를 위해서는 상기의 신경망을 다시 여러 계층의 네트워크 형태로 구성하고 각 뉴런의 동작 함수, 뉴런간 연결 신호의 가중치를 부여하여 지능형 서비스를 제공한다. 즉 추론, 판단, 인식 등을 하나의 기능을 정의하고 이를 위한 신경망의 계층 구조 및 연결 구조를 결정한 후에, 다양한 학습 알고리즘을 통해 뉴런간 연결 가중치를 조정하여 하나의 동작가능한 전체 신경망을 구성한다. 인공 신경망은 하나의 기능별로 신경망을 구성하고 학습시키며 추론하는 과정을 진행한다. 따라서 기존 신경망의 기능을 융합하는 새로운 서비스를 위해서는 새로운 신경망 구조를 설정하고 학습을 통한 연결망 구조를 재설정하여야 한다.
본 발명의 목적은, 새로운 인공 지능 서비스에서 필요한 단위 기능을 수행하는 기존 신경망이 존재하고 이를 조합하여 인공 지능 서비스를 구성하는 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법을 제공하는 데 있다.
본 발명의 목적은 인공 지능 서비스의 개발의 용이성, 개발 기간의 단축 등을 도모할 수 있는 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법을 제공하는 데 있다.
본 발명의 목적은, 단위 기능을 수행하는 인공 지능 신경망을 융합, 연동시키는 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법을 제공하는데 있다.
본 발명의 목적은 단위 신경망의 최적 부분 학습, 단위 신경망의 재가공, 통합 및 융합 서비스 개발 방식을 용이한 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법을 제공하는 데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다
본 발명의 실시 예에 따른 신경망 융합 장치의 단위 신경망을 융합하는 방법은, 제 1 신경망 및 제 2 신경망의 메타 정보를 수집하는 단계; 상기 제 1 신경망의 출력 데이터를 상기 제 2 신경망의 입력 데이터로 정합하도록 상기 수집된 메타 정보를 이용하여 상기 제 1 신경망과 상기 제 2 신경망 사이에 정합 모듈을 연결하는 단계; 및 상기 정합 모듈에 의해 연결된 상기 제 1 및 제 2 신경망들을 통하여 상기 제 1 신경망의 입력 데이터로부터 상기 제 2 신경망의 출력 데이터를 얻기 위한 신경망 연동 서비스를 실행하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 메타 정보를 수집하는 단계는, 상기 제 1 신경망의 메타 정보 저장기로부터 출력 파라미터의 데이터 타입 및 포맷 정보를 읽는 단계; 및 상기 제 2 신경망의 메타 정보 저장기로부터 입력 파라미터의 데이터 타입 및 포맷 정보를 읽는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 정합 모듈을 연결하는 단계는, 정합 인터페이스 생성기에서 상기 제 1 신경망의 출력 파라미터들과 상기 제 2 신경망의 입력 파라미터들에 대응하는 정합 인터페이스를 생성하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 정합 인터페이스는 복수의 변환 플러그인들을 포함하고, 상기 정합 모듈을 연결하는 단계는, 상기 복수의 변환 플러그인들을 생성하는 단계; 및 상기 복수의 변환 플러그인들을 연결하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 정합 인터페이스 생성기는 정합 인터페이스의 생성이 불가한 지를 판별하는 것을 특징으로 한다.
실시 예에 있어서, 상기 신경망 연동 서비스를 실행하는 단계는, 상기 제 1 및 제 2 신경망들의 각각의 입력 인터페이스와 출력 인터페이스를 생성하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 신경망 연동 서비스를 실행하는 단계는, 상기 제 1 신경망의 출력 인터페이스와 정합 인터페이스를 연결하는 단계; 및 상기 정합 인터페이스와 상기 제 2 신경망의 출력 인터페이스를 연결하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 신경망 연동 서비스를 실행하는 단계는, 상기 제 1 및 제 2 신경망들의 입력 인터페이스 및 출력 인터페이스 내부의 활성화 함수를 설정하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 제 1 신경망은 음성 인식 신경망이고, 상기 제 2 신경망은 영상 인식 신경망인 것을 특징으로 한다.
본 발명의 실시 예에 따른 신경망 융합 장치의 제 1 신경망과 제 2 신경망을 연결하는 정합 인터페이스를 생성하는 방법은, 상기 제 1 신경망의 입력 포맷과 상기 제 2 신경망의 출력 포맷을 초기화하는 단계; 상기 입력 포맷과 상기 출력 포맷을 비교하여 변환 플러그인 없이 상기 제 1 신경망과 상기 제 2 신경망이 연결 가능한 지를 판별하는 단계; 상기 변환 플러그인 없이 상기 제 1 신경망과 상기 제 2 신경망이 연결 가능하지 않을 때, 상기 입력 포맷과 상기 출력 포맷의 각각에 대응하는 정합 가능한 변환 플러그인들이 존재하는 지를 판별하는 단계; 및 상기 정합 가능한 변환 플러그인들이 존재할 때, 상기 상기 정합 가능한 변환 플러그인들을 조합함으로써 상기 제 1 신경망과 상기 제 2 신경망을 연결하는 정합 인터페이스를 생성하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 초기화하는 단계는, 상기 제 1 신경망의 메타 정보 저장기에 저장된 출력 파라미터의 데이터 타입을 상기 입력 포맷으로 저장하는 단계; 및 상기 제 2 신경망의 메타 정보 저장기에 저장된 입력 파라미터의 데이터 타입을 상기 출력 포맷으로 저장하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 초기화하는 단계는, 상기 제 1 신경망의 메타 정보 저장기에 저장된 참고 정보의 데이터 포맷을 상기 입력 포맷으로 저장하는 단계; 및 상기 제 2 신경망의 메타 정보 저장기에 저장된 참고 정보의 데이터 포맷을 상기 출력 포맷으로 저장하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 제 1 신경망과 상기 제 2 신경망이 연결 가능한 지를 판별하는 단계는, 상기 출력 파라미터의 데이터 타입과 상기 입력 파라미터의 데이터 타입이 동일한 지를 비교하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 정합 가능한 변환 플러그인들이 존재하는 지를 판별하는 단계는, 상기 입력 포맷과 상기 출력 포맷과 동일한 데이터 타입을 갖는 변환 플러그인이 존재하는 지를 검색하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 정합 인터페이스를 생성하는 단계는, 상기 입력 포맷과 동일한 데이터 타입을 갖는 제 1 변환 플러그인들을 저장하는 단계; 상기 출력 포맷과 동일한 데이터 타입을 갖는 제 2 변환 플러그인들을 저장하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 정합 인터페이스를 생성하는 단계는, 상기 입력 포맷의 원소들과 상기 출력 포맷의 원소들을 비교함으로써 정합이 가능한 조합을 생성하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 정합 인터페이스를 생성하는 단계는, 상기 제 1 변환 플러그인들과 상기 제 2 변환 플러그인들이 조합 가능한 지를 판별하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 신경망 융합 장치는, 적어도 하나의 프로세서; 및상기 적어도 하나의 프로세서에 의해 실행되는 적어도 하나의 인스트럭션을 저장하는 메모리를 포함하고, 상기 적어도 하나의 인스트럭션은, 단위 신경망 모듈에 의해 제 1 신경망을 생성하고; 상기 단위 신경망 모듈에 의해 제 2 신경망을 생성하고; 및 정합 인터페이스를 통하여 상기 제 1 신경망의 출력 데이터를 상기 제 2 신경망의 입력 데이터로 정합하도록 상기 적어도 하나의 프로세서에서 실행되는 것을 특징으로 한다.
실시 예에 있어서, 상기 제 1 신경망은 이미지 데이터를 입력 받아 텍스트 파일을 출력하고, 상기 제 2 신경망은 상기 텍스트 파일을 입력 받아 음성 파일을 출력하는 것을 특징으로 한다.
실시 예에 있어서, 상기 제 1 신경망은 음성 인식 신경망이고, 상기 제 2 신경망은 영상 인식 신경망이고, 상기 제 1 신경망과 상기 제 2 신경망이 상기 정합 인터페이스를 통하여 융합됨으로써 상황 인식 신경망이 구현되는 것을 특징으로 한다.
본 발명의 실시 예에 따른 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법은, 새로운 인공 지능 서비스를 구현하는 경우, 기존 단위 기능을 구성하는 신경망의 기능을 활용할 수 있다.
본 발명의 실시 예에 따른 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법은, 단위 기능의 신경망들을 조합, 융합함으로써 인공 지능 서비스 개발 시간의 단축, 기존 기술의 재활용성의 극대화는 물론 다양한 인공 지능 서비스를 쉽게 창출할 수 있다.
본 발명의 실시 예에 따른 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법은, 신경망 개발자, 다양한 변환 플러그인 개발자, 응용 서비스 개발자간 가치 사슬을 구축하는 시장 환경을 가능하게 하는 등 산업 생태계 구축에도 크게 기여할 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 본 발명의 실시 예에 신경망 융합 장치(10)를 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 단위 신경망 모듈(220)을 예시적으로 보여주는 도면이다.
도 3a는 제 1 신경망(310)을 예시적으로 보여주는 도면이고, 도 3b는 제 2 신경망(320)을 예시적으로 보여주는 도면이고, 도 3c는 제 1 신경망(310)과 제 2 신경망을 조합하는 인공 지능 서비스를 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 신경망 병렬 및 순차 연결을 통한 응용 서비스를 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 신경망 구조 정보 저장기(221)에 저장되는 내용을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 로컬 데이터 저장기(224)를 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 입력 I/F(222)를 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 활성화 함수(720)의 동작을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 로컬 데이터 저장기(224)에 저장되는 정보를 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 메타 정보 저장기(225)에 표현되는 파라미터의 데이터 타입을 예시적으로 보여주는 도면이다.
도 11은 본 발명의 실시 예에 따른 정합 I/F(226)을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 실시 예에 따른 변환 플러그인(1201)을 예시적으로 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 정합 I/F 생성기(227)를 예시적으로 보여주는 도면이다.
도 14는 본 발명의 실시 예에 따른 정합 I/F 생성기(227)의 동작을 예시적으로 보여주는 흐름도이다.
도 15a는 본 발명의 실시 예에 따른 변환 플러그인 없이 신경망들이 직접 연결되는 것을 보여주는 도면이고, 도 15b는 하나의 변환 플러그인을 정합 I/F(226)로 사용하는 경우 신경망들이 연결되는 것을 보여주는 도면이고, 도 15c는 복수의 변환 플러그인들을 조합한 정합 I/F(226)를 사용하는 경우 신경망들이 연결되는 것을 보여주는 도면이다.
도 16은 본 발명의 실시 예에 따른 신경망 융합 장치(10)의 단위 신경망 융합 과정을 예시적으로 보여주는 흐름도이다.
도 17은 본 발명의 실시 예에 따른 전자 장치(2000)를 예시적으로 보여주는 도면이다.
도 1은 본 발명의 실시 예에 신경망 융합 장치(10)를 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 단위 신경망 모듈(220)을 예시적으로 보여주는 도면이다.
도 3a는 제 1 신경망(310)을 예시적으로 보여주는 도면이고, 도 3b는 제 2 신경망(320)을 예시적으로 보여주는 도면이고, 도 3c는 제 1 신경망(310)과 제 2 신경망을 조합하는 인공 지능 서비스를 예시적으로 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 신경망 병렬 및 순차 연결을 통한 응용 서비스를 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 신경망 구조 정보 저장기(221)에 저장되는 내용을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 로컬 데이터 저장기(224)를 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 입력 I/F(222)를 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 활성화 함수(720)의 동작을 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 로컬 데이터 저장기(224)에 저장되는 정보를 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 메타 정보 저장기(225)에 표현되는 파라미터의 데이터 타입을 예시적으로 보여주는 도면이다.
도 11은 본 발명의 실시 예에 따른 정합 I/F(226)을 예시적으로 보여주는 도면이다.
도 12는 본 발명의 실시 예에 따른 변환 플러그인(1201)을 예시적으로 보여주는 도면이다.
도 13은 본 발명의 실시 예에 따른 정합 I/F 생성기(227)를 예시적으로 보여주는 도면이다.
도 14는 본 발명의 실시 예에 따른 정합 I/F 생성기(227)의 동작을 예시적으로 보여주는 흐름도이다.
도 15a는 본 발명의 실시 예에 따른 변환 플러그인 없이 신경망들이 직접 연결되는 것을 보여주는 도면이고, 도 15b는 하나의 변환 플러그인을 정합 I/F(226)로 사용하는 경우 신경망들이 연결되는 것을 보여주는 도면이고, 도 15c는 복수의 변환 플러그인들을 조합한 정합 I/F(226)를 사용하는 경우 신경망들이 연결되는 것을 보여주는 도면이다.
도 16은 본 발명의 실시 예에 따른 신경망 융합 장치(10)의 단위 신경망 융합 과정을 예시적으로 보여주는 흐름도이다.
도 17은 본 발명의 실시 예에 따른 전자 장치(2000)를 예시적으로 보여주는 도면이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 신경망 융합 장치(10)를 예시적으로 보여주는 도면이다. 도 1을 참조하면, 신경망 융합 장치(10)는 프로세서(100) 및 메모리(200)를 포함할 수 있다.
프로세서(100)는 메모리(200)에 저장된 명령어(instruction)를 실행함으로써 신경망 모듈들 사이의 연동을 수행할 수 있다.
메모리(200)는 단위 신경망 모듈(220)을 저장할 수 있다. 단위 신경망 모듈(220)은 인공 지능 서비스 제공하기 위하여 인공 지능 신경망의 융합/연동을 용이하게 하는 단위 신경망(혹은, 공유 신경망)을 포함할 수 있다.
신경망은 단위 기능을 수행하는 인공 신경망을 의미한다. 실시 예에 있어서, 인공 신경망은 Tensorflow, Caffe, Theano 등을 사용한 컴퓨터 프로그램 실행 코드로 구성할 수도 있다. 다른 실시 예에 있어서, 인공 신경망은 NNEF(Neural Network Exchange Format) 등의 기술 언어(descriptive language)와 이를 실행할 수 있는 엔진의 조합으로도 기술될 수 있다.
도 2는 본 발명의 실시 예에 따른 단위 신경망 모듈(220)을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 단위 신경망 모듈(220)은 신경망 구조 정보 저장기(221), 입력 I/F(222), 출력 I/F(223), 로컬 데이터 저장기(224), 메타 정보 저장기(225), 정합 I/F(226), 및 정합 I/F 생성기(227)를 포함할 수 있다.
신경망 구조 정보 저장기(221)는 신경망을 저장하는 장치로써, 인공 신경망을 구성하는 노드, 계층, 동작 함수 등을 저장할 수 있다. 입력 I/F(222, Interface)는 단위 신경망으로 입력되는 데이터를 일시 보관하는 버퍼 역할을 수행하는 인터페이스이다. 출력 I/F(223)는 단위 신경망의 출력을 저장하는 버퍼 형식의 인터페이스이다. 로컬 데이터 저장기(224)는 신경망 동작시 필요한 데이터를 신경망 외부에 저장하는 장치이다. 실시 예에 있어서, 신경망 실행시 필요한 데이터의 작은 경우, 필요한 데이터는 신경망 저장 포맷에 저장될 수 있다. 다른 실시 예에 있어서, 신경망 실행시 필요한 데이터 크기가 클 경우, 필요한 데이터는 신경망 포맷내 저장하는 것보다 외부 저장 장치에 저장할 수 있다. 메타 정보 저장기(225)는 단위 신경망의 기능, 동작관련 제한 사항 등을 저장하는 장치로써, 신경망의 명칭, 입력 데이터, 출력 데이터 등의 정보를 저장할 수 있다.
정합 I/F(226)는 신경망을 순차적으로 연결하는 경우 하나의 신경망의 출력을 다른 신경망의 입력으로 연결시키는 데 필요한 기능을 수행할 수 있다. 정합 I/F 생성기(227)는 정합 I/F(226)를 쉽게 생성하도록 하는 장치이다. 실시 예에 있어서, 정합 I/F 생성기(227)는 미디어의 포맷 변환을 지원하는 변환 플러그인들(Tranform Plugin)을 저장하고, 필요한 변환 플러그인을 연결함으로써 신경망의 입력과 출력을 정합시키는데 필요한 정합 I/F(226)를 생성할 수 있다.
도 2에 도시된 바와 같이, 신경망을 연동하기 위하여 단위 기능을 실행하는 인공 신경망이 구성될 수 있다. 이를 위해 신경망 코드를 저장한 신경망 구조 정보 저장기(221)와 이 단위 신경망이 동작 중에 사용하는 로컬 참조 데이터를 저장하고 있는 로컬 데이터 저장기(224)가 생성될 수 있다. 그리고 신경망 연동을 위하여 입력쪽 버퍼인 입력 I/F(222), 출력쪽 버퍼인 출력 I/F(223), 및 단위 신경망의 기능, 입력 포맷 및 입력 파라미터, 출력 포맷 및 출력 파라미터 등의 정보를 메타 정보 저장기(225)에 저장될 수 있다.
상술된 바와 같이, 신경망 연동을 위한 기본 구조, 즉 단위 신경망 모듈(220)이 준비되면, 신경망 연동을 위해서 앞단 혹은 뒷단으로 신경망이 연결될 수 있다. 이때 입력 인터페이스와 출력 인터페이스가 서로 다를 수 있다. 서로 다른 입/출력 인터페이스를 위하요 정합 I/F(226)를 부착함으로써, 신경망들이 상호 연동이 되게 할 수 있다. 정합 I/F(226)는 사용자가 정합 I/F 생성기(227)를 통해 각 단위 신경망의 메타 정보 저장기(225)를 분석함으로써, 정합 I/F(226)를 생성할 수 있다. 이때, 정합 I/F(226)는 입력과 출력을 연동하도록 정합 플러그인을 조합함으로써 생성될 수 있다.
도 3a, 도 3b, 및 도 3c는 제 1 신경망(310) 및 제 2 신경망(320)을 순차적으로 연결하는 실시 예를 보여주는 도면들이다.
도 3a는 제 1 신경망(310)을 예시적으로 보여주는 도면이다. 도 3a을 참조하면, 제 1 신경망(310)은 이미지를 입력 받아 텍스트로 출력할 수 있다. 제 1 신경망(310)은 입력수, 가중치, 신경망 함수, 바이어스, 출력수 등을 포함할 수 있다.
도 3b는 제 2 신경망(320)을 예시적으로 보여주는 도면이다. 도 3b을 참조하면, 제 2 신경망(320)은 텍스트를 입력 받아 감정이 실린 음성 파일을 출력할 수 있다. 제 2 신경망(320)은 입력수, 가중치, 신경망 함수, 바이어스, 출력수를 포함할 수 있다. 실시 예에 있어서, 음성 파일은 wave 파일일 수 있다. 하지만 본 발명의 음성 파일이 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 3c는 이미지를 인식하여 이미지내 객체들의 상황을 설명하는 텍스트를 출력하는 제 1 신경망(310)과 제 1 신경망(310)로부터 출력된 텍스트를 음성으로 변환하여 출력하는 제 2 신경망을 조합하는 인공 지능 서비스를 예시적으로 보여주는 도면이다. 도 3c를 참조하면, 제 1 신경망(310) 및 제 2 신경망(320)를 정합 I/F(혹은 정합 모듈)을 통하여 조합함으로써 이미지에 대한 설명을 상황에 맞추어 억양 조절, 상황에 따른 음성 볼륨 등을 변화시키며 출력하는 인공 지능 서비스가 제공될 수 있다.
실시 예에 있어서, 제 1 신경망(310)은 단어 데이터베이스를 갖는 로컬 데이터 저장기 및 HD 24 비트 칼라 입력 텍스트를 출력하는 메타 데이터 저장기를 포함할 수 있다. 하지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, 제 2 신경망(320)은 음성 데이터베이스를 갖는 로컬 데이터 저장기 및 텍스트 입력 노모 8kHz wave 파일 출력하는 메타 데이터 저장기를 포함할 수 있다. 하지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 4는 본 발명의 실시 예에 따른 신경망 병렬 및 순차 연결을 통한 응용 서비스를 예시적으로 보여주는 도면이다.
음성 인식 신경망(410)은, 음성 신호를 입력 받고, 수신된 음성 신호에 해당하는 텍스트를 출력할 수 있다. 영상 인식 신경망(420)는, 영상 신호를 입력 받아 영상내 객체 및 객체의 위치를 인식할 수 있다. 음성 인식 신경망(410) 및 영상 인식 신경망(420)를 조합함으로써, 음성 신호와 영상 신호를 기반으로 영상과 음성이 발생하는 환경의 상황을 인식하는 상황 인식 신경망(430)이 구현될 수 있다.
실시 예에 있어서, 음성 인식 신경망(410)과 영상 인식 신경망(420)의 각각의 결과는 상황 인식 신경망(430)의 입력으로 전송됨과, 동시에 별도의 파일로 저장될 수 있다. 예를 들어, 음성 인식 신경망(410)의 결과는 정합 I/F(416)을 경유하여 음성 텍스트로 저장될 수 있다. 영상 인식 신경망(420)의 결과는 정합 I/F(427)를 경유하여 영상 속 상황 관련 텍스트로 저장될 수 있다.
상황 인식 신경망(430)은 음성 및 영상 인식 신경망들의 결과를 근거로 하여상황 인식 서비스를 구축할 수 있다. 예를 들어, 상황 인식 신경망(430)은 상황 알림거나 상황을 텍스트로 저장할 수 있다.
도 5는 본 발명의 실시 예에 따른 신경망 구조 정보 저장기(221)에 저장되는 내용을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 신경망 구조 정보 저장기(221)는 단위 신경망의 ID(이름 혹은 식별자(identifier), 신경망 구조 표현 포맷 및 신경망 구조를 저장할 수 있다. 여기서 신경망 구조 표현 포맷은 Tensorflow, Caffe, Theano, Neural Network Exchange Format 등을 포함할 수 있다.
실시 예에 있어서, 신경망 구조는 텍스트 코드 혹은 바이너리 코드 등으로 표현된 신경망 구성 세부 정보를 포함할 수 있다.
도 6은 본 발명의 실시 예에 따른 로컬 데이터 저장기(224)를 예시적으로 보여주는 도면이다. 도 6을 참조하면, 로컬 데이터 저장기(224)는 신경망 동작시 필요한 참조 데이터(610, 620, ... , 6n0, n은 2 이상의 정수)를 저장할 수 있다. 저장되는 데이터의 포맷은 제한이 없다. 예를 들어, 로컬 데이터는 바이너리 데이터, 텍스트, URL(Uniform Resource Locator) 등이 될 수 있다.
도 7은 본 발명의 실시 예에 따른 입력 I/F(222)를 예시적으로 보여주는 도면이다. 도 7를 참조하면, 입력 I/F(222)는 복수의 파라미터들(711, 712, ? , 71m, m은 자연수) 및 활성화 함수(720; Activation Function)를 포함할 수 있다.
입력 I/F(222)는 전후로 연결되는 신경망의 입출력의 동기화를 위한 장치로서 입력단에 연결되는 버퍼이다. 입력 I/F(222)는 파라미터가 없거나, 한 개 혹은 다수개의 파라미터로 구성될 수 있다.
활성화 함수(720)는 전체 서비스의 동작 동기화를 위해 버퍼의 출력 시간을 제어할 수 있다.
도 8은 본 발명의 실시 예에 따른 활성화 함수(720)의 동작을 예시적으로 보여주는 도면이다.
실시 예에 있어서, 활성화 함수(720)는 특별한 동기 메커니즘 없이 버퍼에 데이터가 도착하면, 바로 출력시킬 수도 있다(No Timer).
실시 예에 있어서, 활성화 함수(720)는 타이머를 두어 주어진 시간/시각(특정 시각 동작) 혹은 특정 시간 간격(주기적 동작)에 따라 버퍼의 출력을 활성화시킬 수도 있다.
실시 예에 있어서, 활성화 함수(720)는 타이머와 무관하면서 서비스 혹은 신경망이 포함되는 시스템내 특정 이벤트(이벤트 연동 동작)에 동기화를 맞추어 출력을 활성화 시킬 수도 있다.
한편, 출력 I/F(223)는 전후로 연결되는 신경망의 입출력의 동기화를 위한 장치로서 출력단에 연결되는 버퍼이다. 출력 I/F(223)는 한 개 혹은 다수의 파라미터로 구성될 수 있다. 출력 I/F(223)은 전체 서비스의 동작 동기화를 위해 버퍼의 출력 시간을 제어하는 활성화 함수를 포함할 수 있다. 출력 I/ㄹ(223)의 구조는 입력 I/F(222)와 동일하거나 유사할 수 있다.
도 9는 본 발명의 실시 예에 따른 로컬 데이터 저장기(224)에 저장되는 정보를 예시적으로 보여주는 도면이다. 도 9를 참조하면, 로컬 데이터 저장기(224)는, 입력 파라미터 정보, 출력 파라미터 정보, 동작 기능 정보, 참고 정보 등을 저장할 수 있다.
실시 예에 있어서, 입력 파라미터 정보는 입력 파라미터 개수, 파라미터의 데이터 타입 등을 포함할 수 있다.
실시 예에 있어서, 출력 파라미터 정보는 출력 파라미터 개수, 파라미터의 데이터 타입 등을 포함할 수 있다.
실시 예에 있어서, 동작 기능 정보는 신경망이 실행하는 기능을 표현하는 정보를 포함할 수 있다. 예를 들어, 이러한 정보는 음성 입력을 인식하여 텍스트로 출력하는 기능 정보일 수 있다.
실시 예에 있어서, 참고 정보는 신경망 동작시 제한 사항 혹은 참고 사항을 기록을 포함할 수 있다. 예를 들어, 참고 정보는 오디어 입력 포맷, 8비트 1채널 8kHz Non Compression 샘플, 입력 신호의 제한 크기 10dB, 1초마다 입력 데이터 전달 등을 포함할 수 있다.
한편, 메타 정보 저장기(225)는 신경망의 기능, 입출력 파라미터의 포맷, 신경망 동작 관련 정보 등을 저장할 수 있다.
도 10은 본 발명의 실시 예에 따른 메타 정보 저장기(225)에 표현되는 파라미터의 데이터 타입을 예시적으로 보여주는 도면이다. 도 10을 참조하면, 파라미터의 미디어 종류는 Audio, Image, Video, Text, Data, General을 포함할 수 있다.
실시 예에 있어서, Audio의 데이터 타입은 WAV, MP3 등을 포함할 수 있다.
실시 예에 있어서, Image의 데이터 타입은 JPEG, PNG, GIF 등을 포함할 수 있다.
실시 예에 있어서, Video의 데이터 타입은 AVI, MP4 등을 포함할 수 있다.
실시 예에 있어서, Text의 데이터 타입은 POSTSCRIPT, 오피스 문서, TXT 등을 포함할 수 있다.
실시 예에 있어서, Data의 데이터 타입은 INTEGER/FLOAT/TENSOR/VECTOR 등을 포함할 수 있다.
실시 예에 있어서, General의 데이터 타입은 특정 형식에 제한되지 않는 타입을 포함할 수 있다.
도 11은 본 발명의 실시 예에 따른 정합 I/F(226)을 예시적으로 보여주는 도면이다. 도 11을 참조하면, 정합 I/F(226)는 변환 플러그인(Transform Plugin)을 연결하여 입력 데이터를 가공하여 출력하는 장치로써, 단수 혹은 복수의 입력을 받아 입력 데이터를 복사하거나, 주어진 기능을 수행함으로써 데이터를 가공, 변형하여 출력할 수 있다.
실시 예에 있어서, 정합 I/F(226)는 복수의 변환 플러그인들(1101, 1102, 1103)을 직렬 혹은 병렬로 연결함으로써 입력이 원하는 형태의 출력이 되도록 제어할 수 있다. 도 11에 도시된 변환 플러그인들의 개수는 3이지만, 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, 정합 I/F(226)내 최초 입력되는 것은 정합 I/F(226)내에 프론트-엔드(Front-End)에 연결된 변환 플러그인에 연결될 수 있다. 실시 예에 있어서, 최종 연결된 변환 플러그인이 정합 I/F(226)의 최종 출력이 될 수 있다.
한편, 변환 플러그인(1101, 1102, 1103)은 정합 I/F(226)에 포함되고, 신경망간 입출력 데이터의 포맷 변환을 실제로 행하는 장치이다.
도 12는 본 발명의 실시 예에 따른 변환 플러그인(1201)을 예시적으로 보여주는 도면이다. 도 12를 참조하면, 변환 플러그인(1201)은 입력, 출력 포맷, 수행 기능을 표현하는 메타데이터(1202) 및 실행 모듈(1203)을 포함할 수 있다.
메타데이터(1202)는 입력 포맷 정보, 출력 포맷 정보, 동작 기능 정보, 참고 정보를 포함할 수 있다. 실시 예에 있어서, 입력 포맷 정보는 파라미터의 데이터 타입을 포함할 수 있다. 실시 예에 있어서, 출력 포맷 정보는 파라미터의 데이터 타입 등을 포함할 수 있다. 실시 예에 있어서, 동작 기능 정보는 변환 플러그인의 기능을 명세하는 정보를 포함할 수 있다. 다른 실시 예에 있어서, 동작 기능 정보는 옵션적으로 없어도 무방하다. 실시 예에 있어서, 참고 정보는 변환 플러그인 동작시 제한 사항 혹은 참고 사항 정보를 포함할 수 있다. 다른 실시 예에 있어서, 참고 정보는 옵션적으로 없어도 무방하다.
실행 모듈(1203)은 변환 플러그인이 기능을 실제로 수행하는 동작 모듈을 포함할 수 있다.
한편, 정합 I/F 생성기(227)는 신경망 연결시, 필요한 입력과 출력단의 연결을 위한 정합 I/F(226)를 생성하는 장치이다. 이러한 정합 I/F 생성기(227)는 연동이 필요한 신경망들의 입출력 관련 정보를 메타 정보 관리기로부터 수집하고, 연동되는 신경망 중에서 출력을 다른 신경망의 입력으로 사용하려는 신경망의 파라미터와, 이에 연결될 신경망의 입력 파라미터가 연동되도록 포맷 변환 등의 정합 기능을 수행할 수 있다.
도 13은 본 발명의 실시 예에 따른 정합 I/F 생성기(227)를 예시적으로 보여주는 도면이다. 도 13을 참조하면, 정합 I/F 생성기(227)는 변환 플러그인 관리기(1301), 변환 플러그인 검색기(1302), 및 변환 플러그인 연동기(1303)를 포함할 수 있다.
변환 플러그인 관리기(1301)는 데이터 포맷 변환 등의 기능을 수행하는 변환 플러그인들을 정합 I/F(226)가 사용할 수 있도록 등록, 삭제하는 등의 관리 기능을 수행할 수 있다. 이때 변환 플러그인들은 변환 플러그인과 자신의 입출력 데이터 타입과 포맷 정보도 함께 등록할 수 있다.
변환 플러그인 검색기(1302)는 신경망의 메타 정보를 근거로 하여 파라미터 연동을 위해 사용 가능한 변환 플러그인 변환 플러그인 관리기(1301)에 등록된 변환 플러그인들에서 검색하는 기능을 수행할 수 있다.
변환 플러그인 연동기(1303)는 연결된 신경망의 입출력이 연동될 수 있도록 변환 플러그인 검색기(1302)를 통해 검색된 변환 플러그인들을 연결 및 조합함으로써 정합 I/F(226)를 생성하는 기능을 수행할 수 있다. 변환 플러그인 연동기(1303)는 연동 가능한 변환 플러그인들을 전달받아 연동 가능한 형태로 조합함으로써 정합 I/F(226)를 최종적으로 생성할 수 있다.
도 14는 본 발명의 실시 예에 따른 정합 I/F 생성기(227)의 동작을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 14를 참조하면, 정합 I/F 생성기(227)의 동작은 다음과 같이 진행될 수 있다.
신경망 별 저장소가 초기화 될 수 있다(S110). 실시 예에 있어서, 제 1 신경망의 메타 정보 저장기(225)에 저장된 출력 파라미터의 데이터 타입과 참고 정보의 데이터 포맷 정보를 제 1 신경망 정보 저장기에 입력 포맷(Input Format)으로 기록될 수 있다. 실시 예에 있어서, 제 2 신경망의 메타 정보 저장기에 저장된 입력 파라미터의 데이터 타입과 참고 정보의 데이터 포맷정보를 제 2 신경망 정보 저장기에 출력 포맷(Output Format)으로 기록될 수 있다.
이후에 입력 포맷(Input Format)과 출력 포맷(Output Format)을 비교하여 변환 플러그인 없이도 신경망 연결이 가능한지 판별될 수 있다(S120). 예를 들어, Input Format과 Output Format의 데이터 타입과 포맷이 동일한지가 판별될 수 있다. 만일, Input Format과 Output Format의 데이터 타입과 포맷이 동일하면, 변환 플러그인 연결 없이 신경망을 직접 연결할 수 있다. 이 경우, 변환 플러그인 없이도 신경망 연결이 가능하다는 정보가 리턴 되고 및 정합 I/F 생성 동작은 종료될 수 있다.
반면에, 플러그인 없이도 신경망 연결이 불가한 경우에, 정합 가능한 변환 플러그인의 존재 여부가 확인 될 수 있다(S130). 실시 예에 있어서, Input Format과 Output Format의 데이터 타입과 포맷이 동일한 변환 플러그인이 존재하는지 확인될 수 있다. 만일, Input Format과 Output Format의 데이터 타입과 포맷이 동일한 변환 플러그인이 존재하면, 검색된 변환 플러그인이 반환되고, 정합 I/F 생성 동작은 종료될 수 있다.
이후에 검색된 변환 플러그인들의 조합으로 정합이 가능한 지가 확인될 수 있다(S140). 실시 예에 있어서, Input Format과 동일한 입력 데이터 타입과 포맷을 지원하는 변환 플러그인들의 집합을 검색하여 입력 후보(Input Candidate)로 저장 될 수 있다. 실시 예에 있어서, Output Format과 동일한 출력 데이터 타입과 포맷을 지원하는 변환 플러그인들의 집합을 검색하여 출력 후보(Output Candidate)로 저장될 수 있다.
실시 예에 있어서, Input Format의 원소들과 Output Format의 원소들의 각각을 비교하고, 비교 결과로써 정합이 가능한 조합이 생성될 수 있다. 조합 가능한 Input Format의 원소와 Output Format의 원소가 존재하면, 검색된 Input Format 원소와 조합 가능한 Output Format의 원소를 연결할 수 있다. 그 결과는 반환되고 정합 I/F 생성 동작은 종료될 수 있다.
실시 예에 있어서, Input Candidate 및 Output Candidate에 포함되지 않는 변환 플러그인들의 집합이 풀(Pool)에 저장될 수 있다. Input Candidate의 원소와, Output Candidate의 원소의 조합을 계산하고, 각 조합 별로 Pool의 원소들의 반복적으로 검색될 수 있다. 이로써, Input Candidate의 원소의 출력을 입력 받고 Output Candidate의 원소의 입력으로 연결이 가능한 조합이 Pool의 원소들로부터 구성될 수 있다.
실시 예에 있어서, 검색 절차의 결과에서 조합 가능한 변환 플러그인들을 검색하고, 조합된 변화 플러그인들이 반환되고, 정합 I/F 생성 동작은 종료될 수 있다. 만일, 검색 절차 과정이 실패하면, 실패를 알리고, 정합 I/F 생성 동작이 종료될 수 있다.
한편, 신경망 융합 동작에서, 직접 연결이 가능한 경우, 하나의 변환 플러그인을 사용하는 경우, 혹은 복수의 변환 플러그인을 연결하는 경우 등이 가능하다.
도 15a, 도 15b, 및 도 15c는 변환 플러그인들의 연결에 대한 실시 예들을 보여주는 도면들이다.
도 15a는 본 발명의 실시 예에 따른 변환 플러그인 없이 신경망들이 직접 연결되는 것을 보여주는 도면이다.
도 15b는 하나의 변환 플러그인을 정합 I/F(226)로 사용하는 경우 신경망들이 연결되는 것을 보여주는 도면이다. 제 1 신경망(선행 신경망)의 출력 파라미터내 데이터 타입 및 포맷은 Idtfmt이고, 제 2 신경망(후행 신경망)의 입력 파라미터내 데이터 타입 및 포맷은 Odtfmt이다.
도 15c는 복수의 변환 플러그인들을 조합한 정합 I/F(226)를 사용하는 경우 신경망들이 연결되는 것을 보여주는 도면이다. 제 1 신경망(선행 신경망)의 출력 파라미터의 데이터 타입 및 포맷은 Idtfmt이고, 제 2 신경망(후행 신경망)의 입력 파라미터의 데이터 타입 및 포맷은 Odtfmt이다. 임의의 데이터타입 및 포맷은 T1, T2, …. , Tk 일 수 있다. 여기서 k는 2 이상의 정수이다.
도 16은 본 발명의 실시 예에 따른 신경망 융합 장치(10)의 단위 신경망 융합 과정을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 16을 참조하면, 단위 신경망 융합 과정은 다음과 같이 진행될 수 있다. 아래에는 단위 신경망들을 조합하여 새로운 인공 지능 서비스를 생성하는데 필요한 절차가 상기에 기술한 장치들을 중심으로 표현되어 있다.
신경망 별 메타 정보가 수집될 수 있다(S210). 예를 들어, 제 1 신경망의 메타 정보 및 제 2 신경망의 메타 정보가 수집될 수 있다. 실시 예에 있어서, 제 1 신경망(혹은, 선행 신경망)의 메타 정보 저장기에 저장된 출력 파라미터의 데이터 타입과 참고 정보의 포맷 정보가 읽혀질 수 있다. 실시 예에 있어서, 제 2 신경망(혹은, 후행 신경망)의 메타 정보 저장기에 저장된 입력 파라미터의 데이터 타입과 참고 정보의 포맷 정보가 읽혀질 수 있다.
이후에, 제 1 신경망의 출력 데이터를 제 2 신경망의 입력 데이터로 정합하도록 수집된 메타 정보를 이용하여 파라미터 별 정합 모듈이 연결될 수 있다(S210). 실시 예에 있어서, 제 1 신경망의 출력 파라미터들과 제 2 신경망의 입력 파라미터별로 정합 I/F 생성기(227, 도 2 참조)를 통하여 정합 I/F(226, 도 2 참조)가 생성될 수 있다. 실시 예에 있어서, 정합 I/F(226) 생성이 불가능할 때, 정합 I/F 생성이 불가하다는 정보가 반환된 후에, 종료될 수 있다. 실시 예에 있어서, 복수의 정합 I/F들이 생성되면, 생성된 정합 I/F들이 연결될 수 있다.
정합 모듈에 의해 연결된 제 1 및 제 2 신경망들을 통하여 제 1 신경망의 입력 데이터로부터 제 2 신경망의 출력 데이터를 얻기 위한 신경망 연동 서비스가 실행될 수 있다(S230).
실시 예에 있어서, 정합 인터페이스 생성기는 제 1 신경망의 출력 파라미터들과 제 2 신경망의 입력 파라미터들에 대응하는 정합 인터페이스를 생성할 수 있다. 실시 예에 있어서, 정합 인터페이스는 복수의 변환 플러그인들을 포함할 수 있다. 실시 예에 있어서, 정합 인터페이스를 생성하는 것은, 복수의 변환 플러그인들을 생성하는 것과 복수의 변환 플러그인들을 연결하는 것을 포함할 수 있다.
실시 예에 있어서, 정합 인터페이스 생성기는 정합 인터페이스의 생성이 불가한 지를 판별할 수 있다.
실시 예에 있어서, 신경망 연동 서비스를 실행하는 것은, 제 1 및 제 2 신경망들의 각각의 입력 인터페이스와 출력 인터페이스를 생성하는 것을 포함할 수 있다. 실시 예에 있어서, 신경망 연동 서비스를 실행하는 것은, 제 1 신경망의 출력 인터페이스와 정합 인터페이스를 연결하는 것, 및 정합 인터페이스와 제 2 신경망의 출력 인터페이스를 연결하는 것을 포함할 수 있다.
실시 예에 있어서, 신경망 연동 서비스를 실행하는 것은, 제 1 및 제 2 신경망들의 입력 인터페이스 및 출력 인터페이스 내부의 활성화 함수를 설정하는 것을 포함할 수 있다. 실시 예에 있어서, 제 1 신경망은 음성 인식 신경망이고, 제 2 신경망은 영상 인식 신경망일 수 있다.
본 발명에 따르면 새로운 인공 지능 서비스를 구현하는 경우, 기존 단위 기능을 구성하는 신경망의 기능을 활용할 수 있다. 본 발명은 단위 신경망들을 조합, 융합하는 방법 및 절차를 제공함으로써 인공 지능 서비스 개발 시간의 단축, 기존 기술의 재활용성의 극대화는 물론 다양한 인공 지능 서비스를 쉽게 창출할 수 있다.
또한, 본 발명은 기본 신경망 개발자, 다양한 변환 플러그인 개발자, 응용 서비스 개발자 간 가치 사슬을 구축하는 시장 환경을 가능하게 하는 등 산업 생태계 구축에도 크게 기여할 수 있다.
도 17은 본 발명의 실시 예에 따른 전자 장치(2000)를 예시적으로 보여주는 도면이다. 도 17을 참조하면, 전자 장치(2000)는 적어도 하나의 프로세서(2100), 네트워크 인터페이스(2200), 메모리(2300), 디스플레이(2400), 및 입출력 장치(2500)를 포함할 수 있다.
프로세서(2100)는 도 1 내지 도 16을 통하여 적어도 하나의 장치를 포함하거나, 도 1 내지 도 16을 통하여 전술한 적어도 하나의 방법으로 구현될 수 있다. 프로세서(2100)는, 상술된 바와 같이, 단위 신경망 모듈에 의해 제 1 신경망을 생성하고, 단위 신경망 모듈에 의해 제 2 신경망을 생성하고, 및 정합 인터페이스를 통하여 제 1 신경망의 출력 데이터를 제 2 신경망의 입력 데이터로 정합하도록 인스트럭션들(instructions)을 실행할 수 있다.
프로세서(2100)는 프로그램을 실행하고, 전자 장치(2000)을 제어할 수 있다. 전자 장치(2000)는 입출력 장치(2500)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 혹은 네트워크)에 연결되고, 데이터를 교환할 수 있다. 전자 장치(2000)는 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 모바일 장치, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 혹은 텔레비전, 스마트 텔레비전, 게이트 제어를 위한 보안 장치 등 전자 제품 등 다양한 전자 시스템을 포함할 수 있다.
네트워크 인터페이스(2200)는 외부의 네트워크와 다양한 유/무선 방식에 의해 통신을 수행하도록 구현될 수 있다.
메모리(2300)는 컴퓨터에서 읽을 수 있는 명령어(instruction)를 포함할 수 있다. 프로세서(2100)는 메모리(2300)에 저장된 명령어가 프로세서(2100)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(2300)는 휘발성 메모리 혹은 비휘발성 메모리일 수 있다. 메모리(2300)는 사용자의 데이터를 저장하도록 저장 장치를 포함할 수 있다. 저장 장치는 eMMC(embedded multimedia card), SSD(solid state drive), UFS(universal flash storage) 등 일 수 있다. 저장 장치는 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있다. 비휘발성 메모리 장치는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다.
이상에서 설명된 실시 예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/혹은 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 혹은 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 혹은 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(Operating System; OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.
또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 대응하는 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소 (processing element) 및/혹은 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수의 프로세서 혹은 하나의 프로세서 및 하나의 제어기(controller)를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 혹은 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 혹은 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/혹은 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 혹은 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 혹은 장치, 혹은 전송되는 신호파(signal wave)에 영구적으로, 혹은 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 혹은 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체 (magneto-optical media), 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
10: 신경망 융합 장치
100: 프로세서
200: 메모리
220: 단위 신경망 모듈
221: 신경망 구조 정보 저장기
222: 입력 인터페이스
223: 출력 인터페이스
224: 로컬 데이터 저장기
225: 메타 정보 저장기
226: 정합 인터페이스(정합 모듈)
227: 정합 인터페이스 생성기
2000: 전자 장치
100: 프로세서
200: 메모리
220: 단위 신경망 모듈
221: 신경망 구조 정보 저장기
222: 입력 인터페이스
223: 출력 인터페이스
224: 로컬 데이터 저장기
225: 메타 정보 저장기
226: 정합 인터페이스(정합 모듈)
227: 정합 인터페이스 생성기
2000: 전자 장치
Claims (20)
- 신경망 융합 장치의 단위 신경망을 융합하는 방법에 있어서,
제 1 신경망 및 제 2 신경망의 메타 정보를 수집하는 단계;
상기 제 1 신경망의 출력 데이터를 상기 제 2 신경망의 입력 데이터로 정합하도록 상기 수집된 메타 정보를 이용하여 상기 제 1 신경망과 상기 제 2 신경망 사이에 정합 모듈을 연결하는 단계; 및
상기 정합 모듈에 의해 연결된 상기 제 1 및 제 2 신경망들을 통하여 상기 제 1 신경망의 입력 데이터로부터 상기 제 2 신경망의 출력 데이터를 얻기 위한 신경망 연동 서비스를 실행하는 단계를 포함하는 방법. - 제 1 항에 있어서,
상기 메타 정보를 수집하는 단계는,
상기 제 1 신경망의 메타 정보 저장기로부터 출력 파라미터의 데이터 타입 및 포맷 정보를 읽는 단계; 및
상기 제 2 신경망의 메타 정보 저장기로부터 입력 파라미터의 데이터 타입 및 포맷 정보를 읽는 단계를 포함하는 방법. - 제 2 항에 있어서,
상기 정합 모듈을 연결하는 단계는,
정합 인터페이스 생성기에서 상기 제 1 신경망의 출력 파라미터들과 상기 제 2 신경망의 입력 파라미터들에 대응하는 정합 인터페이스를 생성하는 단계를 더 포함하는 방법. - 제 3 항에 있어서,
상기 정합 인터페이스는 복수의 변환 플러그인들을 포함하고,
상기 정합 모듈을 연결하는 단계는,
상기 복수의 변환 플러그인들을 생성하는 단계; 및
상기 복수의 변환 플러그인들을 연결하는 단계를 더 포함하는 방법. - 제 3 항에 있어서,
상기 정합 인터페이스 생성기는 정합 인터페이스의 생성이 불가한 지를 판별하는 것을 특징으로 하는 방법. - 제 3 항에 있어서,
상기 신경망 연동 서비스를 실행하는 단계는,
상기 제 1 및 제 2 신경망들의 각각의 입력 인터페이스와 출력 인터페이스를 생성하는 단계를 더 포함하는 방법. - 제 6 항에 있어서,
상기 신경망 연동 서비스를 실행하는 단계는,
상기 제 1 신경망의 출력 인터페이스와 정합 인터페이스를 연결하는 단계; 및
상기 정합 인터페이스와 상기 제 2 신경망의 출력 인터페이스를 연결하는 단계를 더 포함하는 방법. - 제 6 항에 있어서,
상기 신경망 연동 서비스를 실행하는 단계는,
상기 제 1 및 제 2 신경망들의 입력 인터페이스 및 출력 인터페이스 내부의 활성화 함수를 설정하는 단계를 더 포함하는 방법. - 제 1 항에 있어서,
상기 제 1 신경망은 음성 인식 신경망이고,
상기 제 2 신경망은 영상 인식 신경망인 것을 특징으로 하는 방법. - 신경망 융합 장치의 제 1 신경망과 제 2 신경망을 연결하는 정합 인터페이스를 생성하는 방법에 있어서,
상기 제 1 신경망의 입력 포맷과 상기 제 2 신경망의 출력 포맷을 초기화하는 단계;
상기 입력 포맷과 상기 출력 포맷을 비교하여 변환 플러그인 없이 상기 제 1 신경망과 상기 제 2 신경망이 연결 가능한 지를 판별하는 단계;
상기 변환 플러그인 없이 상기 제 1 신경망과 상기 제 2 신경망이 연결 가능하지 않을 때, 상기 입력 포맷과 상기 출력 포맷의 각각에 대응하는 정합 가능한 변환 플러그인들이 존재하는 지를 판별하는 단계; 및
상기 정합 가능한 변환 플러그인들이 존재할 때, 상기 상기 정합 가능한 변환 플러그인들을 조합함으로써 상기 제 1 신경망과 상기 제 2 신경망을 연결하는 정합 인터페이스를 생성하는 단계를 포함하는 방법. - 제 10 항에 있어서,
상기 초기화하는 단계는,
상기 제 1 신경망의 메타 정보 저장기에 저장된 출력 파라미터의 데이터 타입을 상기 입력 포맷으로 저장하는 단계; 및
상기 제 2 신경망의 메타 정보 저장기에 저장된 입력 파라미터의 데이터 타입을 상기 출력 포맷으로 저장하는 단계를 더 포함하는 방법. - 제 11 항에 있어서,
상기 초기화하는 단계는,
상기 제 1 신경망의 메타 정보 저장기에 저장된 참고 정보의 데이터 포맷을 상기 입력 포맷으로 저장하는 단계; 및
상기 제 2 신경망의 메타 정보 저장기에 저장된 참고 정보의 데이터 포맷을 상기 출력 포맷으로 저장하는 단계를 더 포함하는 방법. - 제 11 항에 있어서,
상기 제 1 신경망과 상기 제 2 신경망이 연결 가능한 지를 판별하는 단계는,
상기 출력 파라미터의 데이터 타입과 상기 입력 파라미터의 데이터 타입이 동일한 지를 비교하는 단계를 더 포함하는 방법. - 제 11 항에 있어서,
상기 정합 가능한 변환 플러그인들이 존재하는 지를 판별하는 단계는,
상기 입력 포맷과 상기 출력 포맷과 동일한 데이터 타입을 갖는 변환 플러그인이 존재하는 지를 검색하는 단계를 더 포함하는 방법. - 제 11 항에 있어서,
상기 정합 인터페이스를 생성하는 단계는,
상기 입력 포맷과 동일한 데이터 타입을 갖는 제 1 변환 플러그인들을 저장하는 단계;
상기 출력 포맷과 동일한 데이터 타입을 갖는 제 2 변환 플러그인들을 저장하는 단계를 더 포함하는 방법. - 제 15 항에 있어서,
상기 정합 인터페이스를 생성하는 단계는,
상기 입력 포맷의 원소들과 상기 출력 포맷의 원소들을 비교함으로써 정합이 가능한 조합을 생성하는 단계를 더 포함하는 방법. - 제 15 항에 있어서,
상기 정합 인터페이스를 생성하는 단계는,
상기 제 1 변환 플러그인들과 상기 제 2 변환 플러그인들이 조합 가능한 지를 판별하는 단계를 더 포함하는 방법. - 신경망 융합 장치에 있어서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의해 실행되는 적어도 하나의 인스트럭션을 저장하는 메모리를 포함하고,
상기 적어도 하나의 인스트럭션은,
단위 신경망 모듈에 의해 제 1 신경망을 생성하고;
상기 단위 신경망 모듈에 의해 제 2 신경망을 생성하고;
정합 인터페이스를 통하여 상기 제 1 신경망의 출력 데이터를 상기 제 2 신경망의 입력 데이터로 정합하도록 상기 적어도 하나의 프로세서에서 실행되는 것을 특징으로 하는 신경망 융합 장치. - 제 18 항에 있어서,
상기 제 1 신경망은 이미지 데이터를 입력 받아 텍스트 파일을 출력하고,
상기 제 2 신경망은 상기 텍스트 파일을 입력 받아 음성 파일을 출력하는 것을 특징으로 하는 신경망 융합 장치. - 제 18 항에 있어서,
상기 제 1 신경망은 음성 인식 신경망이고,
상기 제 2 신경망은 영상 인식 신경망이고,
상기 제 1 신경망과 상기 제 2 신경망이 상기 정합 인터페이스를 통하여 융합됨으로써 상황 인식 신경망이 구현되는 것을 특징으로 하는 신경망 융합 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/535,709 US20200065654A1 (en) | 2018-08-22 | 2019-08-08 | Neural network fusion apparatus and modular neural network fusion method and matching interface generation method for the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180097902 | 2018-08-22 | ||
KR20180097902 | 2018-08-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200022319A true KR20200022319A (ko) | 2020-03-03 |
KR102292800B1 KR102292800B1 (ko) | 2021-08-25 |
Family
ID=69938024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190059605A KR102292800B1 (ko) | 2018-08-22 | 2019-05-21 | 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102292800B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210121974A (ko) * | 2020-03-31 | 2021-10-08 | 주식회사 자가돌봄 | 분리 가능한 전이 학습 기반의 인공 신경망을 이용하는 스마트 디바이스 센싱 데이터의 패턴 인식을 제공하는 시스템 및 방법 |
KR20210121972A (ko) * | 2020-03-31 | 2021-10-08 | 주식회사 자가돌봄 | 분리 가능한 전이 학습 기반의 인공 신경망을 이용하는 시스템 및 방법 |
WO2022149674A1 (ko) * | 2021-01-05 | 2022-07-14 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005310171A (ja) * | 2002-03-25 | 2005-11-04 | Ricoh Co Ltd | プログラム生成処理をコンピュータに行わせるためのコンピュータ読み取り可能なプログラム |
KR20140040920A (ko) * | 2012-09-27 | 2014-04-04 | 한국전자통신연구원 | 매쉬업 블록 유저 인터페이스를 이용한 매쉬업 저작 장치 및 그 방법 |
US20140358825A1 (en) * | 2013-05-29 | 2014-12-04 | Cloudvu, Inc. | User interface for machine learning |
KR20150027552A (ko) * | 2013-09-04 | 2015-03-12 | 한국전자통신연구원 | 이종 기기들간 최적 협업을 위한 디지털 브레인 시스템, 장치 및 그 운영방법 |
KR20170043582A (ko) * | 2015-05-21 | 2017-04-21 | 바이두 유에스에이 엘엘씨 | 다중 언어 이미지 질의 응답 |
KR101846970B1 (ko) | 2016-08-23 | 2018-04-10 | 국방과학연구소 | 전자전 위협신호의 분류를 위한 딥 신경망 학습장치 및 방법 |
KR20190018278A (ko) | 2017-08-14 | 2019-02-22 | 삼성전자주식회사 | 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치 |
-
2019
- 2019-05-21 KR KR1020190059605A patent/KR102292800B1/ko active IP Right Grant
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005310171A (ja) * | 2002-03-25 | 2005-11-04 | Ricoh Co Ltd | プログラム生成処理をコンピュータに行わせるためのコンピュータ読み取り可能なプログラム |
KR20140040920A (ko) * | 2012-09-27 | 2014-04-04 | 한국전자통신연구원 | 매쉬업 블록 유저 인터페이스를 이용한 매쉬업 저작 장치 및 그 방법 |
US20140358825A1 (en) * | 2013-05-29 | 2014-12-04 | Cloudvu, Inc. | User interface for machine learning |
KR20150027552A (ko) * | 2013-09-04 | 2015-03-12 | 한국전자통신연구원 | 이종 기기들간 최적 협업을 위한 디지털 브레인 시스템, 장치 및 그 운영방법 |
KR20170043582A (ko) * | 2015-05-21 | 2017-04-21 | 바이두 유에스에이 엘엘씨 | 다중 언어 이미지 질의 응답 |
KR101846970B1 (ko) | 2016-08-23 | 2018-04-10 | 국방과학연구소 | 전자전 위협신호의 분류를 위한 딥 신경망 학습장치 및 방법 |
KR20190018278A (ko) | 2017-08-14 | 2019-02-22 | 삼성전자주식회사 | 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210121974A (ko) * | 2020-03-31 | 2021-10-08 | 주식회사 자가돌봄 | 분리 가능한 전이 학습 기반의 인공 신경망을 이용하는 스마트 디바이스 센싱 데이터의 패턴 인식을 제공하는 시스템 및 방법 |
KR20210121972A (ko) * | 2020-03-31 | 2021-10-08 | 주식회사 자가돌봄 | 분리 가능한 전이 학습 기반의 인공 신경망을 이용하는 시스템 및 방법 |
WO2022149674A1 (ko) * | 2021-01-05 | 2022-07-14 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102292800B1 (ko) | 2021-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jing et al. | Deep learning for drug design: an artificial intelligence paradigm for drug discovery in the big data era | |
EP3857377B1 (en) | Disk drive failure prediction with neural networks | |
US20200065654A1 (en) | Neural network fusion apparatus and modular neural network fusion method and matching interface generation method for the same | |
CN112288075B (zh) | 一种数据处理方法及相关设备 | |
KR102292800B1 (ko) | 신경망 융합 장치, 그것의 단위 신경망 융합 방법 및 정합 인터페이스 생성 방법 | |
US20200302271A1 (en) | Quantization-aware neural architecture search | |
EP3574453A1 (en) | Optimizing neural network architectures | |
CN112883149B (zh) | 一种自然语言处理方法以及装置 | |
CN111522962A (zh) | 序列推荐方法、装置及计算机可读存储介质 | |
US20200302269A1 (en) | Differential bit width neural architecture search | |
CN114388064A (zh) | 用于蛋白质表征学习的多模态信息融合方法、系统、终端及存储介质 | |
WO2023179429A1 (zh) | 一种视频数据的处理方法、装置、电子设备及存储介质 | |
CN108604311B (zh) | 利用层级式外部存储器的增强神经网络 | |
CN111950596A (zh) | 一种用于神经网络的训练方法以及相关设备 | |
CN115221846A (zh) | 一种数据处理方法及相关设备 | |
US11423307B2 (en) | Taxonomy construction via graph-based cross-domain knowledge transfer | |
EP3874420A1 (en) | Learning property graph representations edge-by-edge | |
CN113656563B (zh) | 一种神经网络搜索方法及相关设备 | |
WO2021120177A1 (zh) | 编译神经网络模型的方法和装置 | |
CN111222046A (zh) | 服务配置方法、用于服务配置的客户端、设备及电子设备 | |
CN113761525A (zh) | 基于联邦学习的智能入侵检测方法和系统 | |
WO2024199068A1 (zh) | 端云协同数据挖掘方法、装置、系统及计算机集群 | |
US20240330130A1 (en) | Graph machine learning for case similarity | |
CN115455171A (zh) | 文本视频的互检索以及模型训练方法、装置、设备及介质 | |
Srinivas et al. | A comprehensive survey of techniques, applications, and challenges in deep learning: A revolution in machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |