KR20220051627A - 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치 - Google Patents

까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치 Download PDF

Info

Publication number
KR20220051627A
KR20220051627A KR1020200135247A KR20200135247A KR20220051627A KR 20220051627 A KR20220051627 A KR 20220051627A KR 1020200135247 A KR1020200135247 A KR 1020200135247A KR 20200135247 A KR20200135247 A KR 20200135247A KR 20220051627 A KR20220051627 A KR 20220051627A
Authority
KR
South Korea
Prior art keywords
crow
node
neural network
artificial neural
network model
Prior art date
Application number
KR1020200135247A
Other languages
English (en)
Inventor
한동일
무하마드 압둘라
모빈 아마드
김지선
최다빈
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to KR1020200135247A priority Critical patent/KR20220051627A/ko
Publication of KR20220051627A publication Critical patent/KR20220051627A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 측면에 따른 CSA(Crow Search Algorithm)에 기반한 인공 신경망 구조의 자동 설계 방법은 (a) 이진 문자열로 표현된 복수의 까마귀 노드를 포함하는 까마귀 군집을 생성하는 단계; (b) 각 까마귀 노드의 이진 문자열을 해독하고 각 까마귀 노드에 해당하는 신경망을 생성하는 단계; (c) 토너먼트 방식에 따라 복수의 신경망 중 가장 성능이 높은 제 1 까마귀 노드의 신경망을 선택하는 단계; (d) 제 2 까마귀 노드가 제 1 까마귀 노드를 추적하도록 하되, 제 1 까마귀 노드의 기억 장소와 제 2 까마귀 노드의 위치 사이의 거리를 나타내는 해밍 거리에 기초하여 제 2 까마귀 노드의 비행 거리를 조절하는 단계; (e) 각 까마귀 노드의 위치에 의해 특정된 신경망 모델에 대한 평가를 수행하는 단계; 및 (f) 상기 (c)~(e) 단계를 반복 수행하여 최적 평가 점수를 가진 신경망 모델을 선택하는 단계를 포함한다.

Description

까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치{METHOD AND APPARATUS FOR AUTOMATIC DESIGN OF ARTIFICIAL NEURAL NETWORK STRUCTURE BASED ON CROW SEARCH ALGORITHM}
본 발명은 생물학적 활동 원리를 활용한 CSA(Crow Search Algorithm)에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치에 관한 것이다.
최근 인공 신경망에 대한 연구가 활발하게 진행되고 있는 가운데, 이러한 인공 신경망 모델을 자동으로 설계하는 시스템에 대한 연구가 이루어지고 있다. NAS(Neural Architecture Search)는 인공 신경망 모델의 설계를 자동화하기 위한 알고리즘이다. 사람이 직접 인공 신경망 모델을 설계하는 것은 많은 시간이 소모되기 때문에 최근에는 최적의 구조를 찾기 위해 검색 알고리즘을 활용한다. 다양한 영역의 문제를 해결하기 위해 자연에서 영감을 받은 최적화 전략이 증가하고 있는데, 대표적으로 직관적이고 성능이 우수한 유전 알고리즘(Genetic Algorithm, GA)와 군집지능 기반의 까마귀 탐색 알고리즘(Crow Search Algorithm, CSA)이 활용되고 있다.
유전 알고리즘의 대표적인 예에는 유전자 CNN이 알려져 있는데, 바이너리 인코딩 검색 공간에 진화적 검색 전략을 사용하는 알고리즘으로, 고정크기의 이진 문자열 형태를 사용하며 유전자처럼 사용된다. 하지만 최적의 솔루션을 찾기 위해 어떤 도메인 지식도 사용하지 않기 때문에 약한 방법으로 알려져 있고, 실제로 도메인 지식을 활용하는 검색 방법보다 우수한 성능을 가지지 못한다.
또 다른 최적화 전략인 까마귀 탐색 알고리즘은 다른 새를 관찰하여 먹이 위치를 파악하고 주인이 떠나면 훔치는 행동양식을 가지는 까마귀의 행동방식에 영감을 받은 인구 기반 군집 지능 알고리즘이다. 미행 여부를 파악하기 위해 인식 확률(awareness probability; AP)이 사용되며 비행거리와 까마귀의 위치가 활용된다. 하지만 CSA는 특정 파라미터에 대한 최적의 값을 찾는 것이 목표인 엔지니어링 최적화에 적용되었기 때문에 신경 구조 검색에서 두 솔루션 간의 거리를 직접 계산할 수 없다는 것과, 솔루션의 무작위 선택으로 최적의 솔루션으로 수렴하기 어렵다는 것, 그리고 일정한 비행 거리 또한 최적의 선택이 아니라는 문제점이 있다.
대한민국 등록특허 제10-2122232호 (발명의 명칭: 멀티 태스크를 위한 신경망 자동 생성 장치 및 방법)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 토너먼트 대상 선택 방식 및 동적 비행 거리 분포를 사용하는 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법을 제공하는데 목적이 있다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 해결하기 위한 기술적 수단으로서, 본 발명의 일 측면에 따른 본 발명의 일 측면에 따른 CSA(Crow Search Algorithm)에 기반한 인공 신경망 구조의 자동 설계 방법은 (a) 이진 문자열로 표현된 복수의 까마귀 노드를 포함하는 까마귀 군집을 생성하는 단계; (b) 각 까마귀 노드의 이진 문자열을 해독하고 각 까마귀 노드에 해당하는 신경망을 생성하는 단계; (c) 토너먼트 방식에 따라 복수의 신경망 중 가장 성능이 높은 제 1 까마귀 노드의 신경망을 선택하는 단계; (d) 제 2 까마귀 노드가 제 1 까마귀 노드를 추적하도록 하되, 제 1 까마귀 노드의 기억 장소와 제 2 까마귀 노드의 위치 사이의 거리를 나타내는 해밍 거리에 기초하여 제 2 까마귀 노드의 비행 거리를 조절하는 단계; (e) 각 까마귀 노드의 위치에 의해 특정된 신경망 모델에 대한 평가를 수행하는 단계; 및 (f) 상기 (c)~(e) 단계를 반복 수행하여 최적 평가 점수를 가진 신경망 모델을 선택하는 단계를 포함한다.
CSA(Crow Search Algorithm)에 기반한 인공 신경망 구조의 자동 설계 장치는, 통신 모듈; 인공 신경망 자동 설계 프로그램이 저장된 메모리; 및 상기 메모리에 저장된 인공 신경망 자동 설계 프로그램을 실행하는 프로세서를 포함하며, 상기 인공 신경망 자동 설계 프로그램은 (a) 이진 문자열로 표현된 복수의 까마귀 노드를 포함하는 까마귀 군집을 생성하는 단계; (b) 각 까마귀 노드의 이진 문자열을 해독하고 각 까마귀 노드에 해당하는 신경망을 생성하는 단계; (c) 토너먼트 방식에 따라 복수의 신경망 중 가장 성능이 높은 제 1 까마귀 노드의 신경망을 선택하는 단계; (d) 제 2 까마귀 노드가 제 1 까마귀 노드를 추적하도록 하되, 제 1 까마귀 노드의 기억 장소와 제 2 까마귀 노드의 위치 사이의 거리를 나타내는 해밍 거리에 기초하여 제 2 까마귀 노드의 비행 거리를 조절하는 단계; (e) 각 까마귀 노드의 위치에 의해 특정된 신경망 모델에 대한 평가를 수행하는 단계; 및 (f) 상기 (c)~(e) 단계를 반복 수행하여 최적 평가 점수를 가진 신경망 모델을 선택하는 단계를 포함한다.
전술한 본원의 과제 해결 수단에 의하면, 이진 문자열로 표현된 까마귀 노드를 이용하여 최고 성능을 가진 인공 신경망 모델을 자동으로 선택할 수 있다. 특히, 대상 선택 방법은 토너먼트 선택 방식을 채택하여 빠른 수렴이 가능하도록 하고, 까마귀 노드의 비행거리를 동적으로 설정하여 목표에 근접 시 큰 비행을 회피할 수 있도록 한다. 이를 통해 다른 알고리즘에 비해 적은 학습으로도 비교 가능한 정확도를 달성할 수 있음을 확인할 수 있다. 종래의 검색 알고리즘은 하이퍼 차원 공간을 탐험하는데 많은 시간을 소모하는데, 본 발명은 이러한 시간 소모를 줄일 수 있어 기계학습의 자동화를 촉진시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 인공 신경망 구조의 자동 설계 장치를 도시한 블록도이다.
도 2내지 도 5는 본 발명의 일 실시예에 따른 인공 신경망 구조의 자동 설계 방법을 도시한 순서도이다.
도 6은 본 발명의 일 실시예에 사용되는 인공 신경망 구조를 이진 문자열로 특정하는 방법을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 사용되는 인공 신경망 구조를 이진 문자열로 특정하는 다른 방법을 도시한 도면이다.
도 8은 본 발명의 일 실시예에 사용되는 토너먼트 선택 방식을 설명하기 위한 도면이다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 로컬 탐색과 글로벌 탐색의 개념을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 적용되는 이진 문자열 사이의 해밍 거리 산출 과정을 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 발명의 효과를 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결" 되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결" 되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 “상에” 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우 뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
먼저 까마귀 탐색 알고리즘에 대하여 살펴보기로 한다. 까마귀 탐색 알고리즘은 까마귀의 행동방식에 영감을 받은 모집단 기반의 집단 지능 알고리즘이다. 까마귀는 다른 새를 관찰하여 먹이 위치를 파악하고, 주인이 떠나면 그 먹이를 훔치는 행동양식을 가진다. 이러한 까마귀의 행동양식에 따라, 이 알고리즘은 아래의 4가지 원칙을 사용한다.
* 까마귀는 집단의 형태로 살아간다.
* 까마귀는 은신처를 기억할 수 있다.
* 까마귀는 먹이를 훔쳐 먹기 위해 서로를 따라간다.
* 까마귀는 자신의 먹이를 보호하기 위해 그들의 경험을 사용한다.
또한 까마귀는 자신이 추적되고 있다고 판단할 경우 최적의 장소 대신 무작위의 장소로 움직인다. 까마귀 자신도 도둑질을 하기 때문에, 자신의 먹이를 훔치려는 도둑의 행동을 잘 알고 있다. 그래서 추적되고 있다고 판단할 경우 최적의 장소가 아닌 다른 장소로 움직인다. 다른 장소는 무작위성에 의해 정해지고, 목적지와의 거리가 비행거리보다 멀 경우에는 목적지 이전에 지역 탐색을 수행하고, 목적지와의 거리가 비행거리보다 가까운 경우에는 전역 탐색을 수행한다. 까마귀의 비행거리는 다른 까마귀가 추적하는 동안 날아갈 거리를 의미한다.
하지만 기존의 CSA 알고리즘을 신경망 구조 검색 문제에 적용하는 데 있어서 다음과 같은 한계가 있다.
1. 이전의 CSA는 특정한 매개변수에 대해 최적의 값을 찾는 것이 목표인 엔지니어링 최적화 문제에 적용되어 왔다.
2. 이전 연구에서 CSA는 4가지 하이퍼 파라미터를 검색하는 데 사용되었다. 이러한 경우 다양한 거리 공식이 자연스럽게 적용될 수 있으나, CSA에서 사용하는 두 솔루션 간의 거리는 신경 구조 검색의 경우에서 직접 계산할 수 없다. 신경 구조 간의 거리를 계산하려면 아키텍처 간의 차이를 거리로 해석하는 방식을 고안해야 한다.
3. 검색 공간의 새로운 솔루션은 CSA의 간단한 산술을 사용하여도 계산되지 않을 수 있다.
4. 타겟 솔루션의 무작위 선택은 너무 많은 무작위성을 가져서 여러 번 반복해도 최적의 솔루션으로 수렴하기 어렵다.
5. 비행 거리의 최대 범위는 알고리즘 매개 변수로 제공되지만 이진 문자열의 경우 최대 변경 가능 범위는 이진 문자열의 총 길이와 같다. 따라서 최대 비행 거리는 이진 문자열의 길이를 초과할 수 없다.
6. 비행 거리의 일정한 범위는 최적의 선택이 아니다.
본 발명을 통하여 제시하고자 하는 것은 앞서 말한 문제점을 해결하기 위해 이진 네트워크 표현을 사용하여 신경망 구조 설계 자동화를 촉진하기 위한 목적으로 설계되었다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 인공 신경망 구조의 자동 설계 장치를 도시한 블록도이다.
도시된 바와 같이, 인공 신경망 구조의 자동 설계 장치(100)는 메모리(110), 프로세서(120) 및 통신 모듈(130)을 포함할 수 있다.
메모리(110)에는 인공 신경망 자동 설계 프로그램이 저장된다. 이러한 메모리(110)에는 인공 신경망 구조의 자동 설계 장치(10)의 구동을 위한 운영 체제나 인공 신경망 자동 설계 프로그램의 실행 과정에서 발생되는 여러 종류가 데이터가 저장된다.
인공 신경망 자동 설계 프로그램은 CSA(Crow Search Algorithm)에 기반한 것으로서, (a) 이진 문자열로 표현된 복수의 까마귀 노드를 포함하는 까마귀 군집을 생성하는 단계; (b) 각 까마귀 노드의 이진 문자열을 해독하고 각 까마귀 노드에 해당하는 신경망을 생성하는 단계; (c) 토너먼트 방식에 따라 복수의 신경망 중 가장 성능이 높은 제 1 까마귀 노드의 신경망을 선택하는 단계; (d) 제 2 까마귀 노드가 제 1 까마귀 노드를 추적하도록 하되, 제 1 까마귀 노드의 기억 장소와 제 2 까마귀 노드의 위치 사이의 거리를 나타내는 해밍 거리에 기초하여 제 2 까마귀 노드의 비행 거리를 조절하는 단계; (e) 각 까마귀 노드의 위치에 의해 특정된 신경망 모델에 대한 평가를 수행하는 단계; 및 (f) (c)~(e) 단계를 반복 수행하여 최적 평가 점수를 가진 신경망 모델을 선택하는 단계를 포함한다. 각각의 단계에 대해서는 추후 상세히 살펴보기로 한다.
이때, 메모리(110)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.
또한, 메모리(110)는 프로세서(120)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행할 수 있다. 여기서, 메모리(110)는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치 외에 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(120)는 메모리(110)에 저장된 프로그램을 실행하되, 인공 신경망 자동 설계 프로그램의 실행에 따라 다음과 같은 처리를 수행한다.
이러한 프로세서(120)는 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
통신 모듈(130)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
도 2 내지 도 5는 본 발명의 일 실시예에 따른 인공 신경망 구조의 자동 설계 방법을 도시한 순서도이다.
먼저, 인공 신경망 구조의 자동 설계 장치(10)는 이진 문자열로 표현된 복수의 까마귀 노드를 포함하는 까마귀 군집을 생성한다(S210). 인공 신경망 구조의 자동 설계 장치(10)는 N 마리(N는 복수인 자연수)의 까마귀 노드를 생성하는데, 각 까마귀 노드는 네트워크 구조를 갖는 인공 신경망을 나타내는 이진 문자열로 표현되며, 이러한 이진 문자열은 특정한 인공 신경망을 특정하게 된다.
도 6은 본 발명의 일 실시예에 사용되는 인공 신경망 구조를 이진 문자열로 특정하는 방법을 도시한 도면이다.
각 비트는 이전 노드와의 연결을 나타내는 것으로 0이면 이전 노드와 연결되어 있지 않음을 나타내고, 1이면 이전 노드와 연결되어 있다는 것을 나타낸다. 1단계(stage1)의 인공 신경망 구조를 살펴보면, 입력이 없는 노드(A1)는 A0와 연결되고, 출력이 없는 노드(A3)는 A4와 연결된다. A1 노드, A2 노드, A3 노드는 각각 이전 노드에 연결되어 있으므로, 1-11로 표시될 수 있다. A2 노드는 이전의 노드, 즉 A1 노드에 연결되어 있으므로 1으로 표시되고, A3 노드 또한 이전의 노드인A1 노드, A2 노드에 모두 연결되어 있으므로 11으로 표시된다. 따라서 A1 노드, A2노드, A3노드는 1-11으로 표시될 수 있다.
또한, 2단계(stage2)의 인공 신경망 구조를 살펴보면, 입력이 없는 노드(B1, B3, B5)는 B0와 연결되고, 출력이 없는 노드(B3, B4, B5)는 B6와 연결된다. B1 노드, B2 노드, B3 노드는 각각 이전 노드에 연결되므로, 1-00-010-0000로 표시될 수 있다. B2 노드는 이전의 노드, 즉 B1 노드에 연결되어 있으므로 1으로 표시된다. B3 노드는 이전 노드인 B1과 B2 노드에 모두 연결되어 있지 않으므로 00으로 표시된다. B4 노드는 이전 노드 B1, B2, B3 중 B2 노드에만 연결되어 있으므로 010으로 표시된다. B5 노드는 이전 노드 4개 중 모두 연결되어 있지 않으므로 0000으로 표시된다. 따라서 B1 노드, B2노드, B3노드, B4 노드, B5 노드는 1-00-010-0000으로 표시될 수 있다.
이에 따라, 도 6에 도시된 2단계 인공 신경망 모델은 이진 문자열 “1111000100000”으로 표현된다.
도 7은 본 발명의 일 실시예에 사용되는 인공 신경망 구조를 이진 문자열로 특정하는 다른 방법을 도시한 도면이다.
위에서 서술한 방법과 다른 방법으로 인코딩이 가능하다. 1단계(stage1)를 위의 방법으로 표현하면 입력이 없는 노드만 A0와 연결되도록 한정되어 있다. 하지만 입력 노드가 있더라도 A0 노드와의 연결을 추가하여 일반화를 가능케한다. 이를 위해 디폴트 노드인 A0노드와 A4노드를 검색 공간 안에 있는 노드라고 둔다. 기존의 이진 문자열에서 입력 계층과의 연결을 표현하기 위한 비트와 입력 노드에서 풀링 계층까지의 연결을 나타내는 비트를 추가한다. 이진 문자열의 비트 중 첫 번째 비트는 입력 계층과 연결되었는지 여부를 표현한다. A0 노드는 입력 계층과 직접 연결되어 있으므로 첫 번째 비트가1으로 표시되고, A1, A2, A3, A4 노드는 입력 계층과 직접 연결되어 있지 않으므로 첫 번째 비트가 0으로 표시된다. A0노드는 입력 계층과 연결되어 있으므로 1, A1 노드는 입력 계층과 연결되어 있지 않고 A0 노드와는 연결되어 있으므로 01으로 표현할 수 있다. 따라서 A0 노드부터 A4 노드까지 각각 1-01-001-0011-00001으로 표현할 수 있다. 또한 입력 노드와 풀링 계층까지의 연결을 나타내는 비트를 추가해야 한다. A4노드를 제외한 노드들은 풀링 계층과 연결되어 있지 않으므로 0으로 표시되고 A4 노드는 풀링 계층과 연결되어 있기 때문에 1으로 표시되어, 입력 노드와 풀링 계층을 표현하는 비트는 00001으로 표시된다. 따라서 기존의 인코딩 방식으로 1-11으로 표시된 이진 문자열은 1-01-001-0011-00001-00001으로 표시될 수 있다.
2단계(stage2)의 인공 신경망 구조 또한 위의 인코딩 방법을 사용하여 이진 문자열을 표현할 수 있다. 1단계와 동일하게 입력이 없는 노드만 B0와 연결되도록 한정되어 있다. 디폴트 노드인B0노드와 B6노드를 검색 공간 안에 있는 노드라고 둔다. 기존의 이진 문자열에서 입력 계층과의 연결을 표현하기 위한 비트와 입력 노드에서 풀링 계층까지의 연결을 나타내는 비트를 추가한다. 이진 문자열의 비트 중 첫 번째 비트는 입력 계층과 연결되었는지 여부를 표현한다. B0 노드는 입력 계층과 직접 연결되어 있으므로 첫 번째 비트가1으로 표시되고, B1, B2, B3, B4, B5, B6 노드는 입력 계층과 직접 연결되어 있지 않으므로 첫 번째 비트가 0으로 표시된다. 따라서 B0 노드부터 B6 노드까지 1-01-001-0100-00010-010000-0000111으로 나타낼 수 있다. 또한 입력 노드와 풀링 계층까지의 연결을 나타내는 비트를 추가해야 한다. B6노드를 제외한 노드들은 풀링 계층과 연결되어 있지 않으므로 0으로 표시되고 B6 노드는 풀링 계층과 연결되어 있기 때문에 1으로 표시되어, 입력 노드와 풀링 계층을 표현하는 비트는 0000001으로 표시된다. 따라서 기존의 인코딩 방식으로 1-00-010-0000으로 표시된 이진 문자열은 1-01-001-0100-00010-010000-0000111-0000001으로 표시될 수 있다.
이러한 규칙에 따라 각각의 인공 신경망 모델을 이진 문자열로 표시할 수 있고, 이진 문자열의 정보를 이용하면 그에 해당하는 인공 신경망 모델을 해독할 수 있다.
다시 도 2를 참조하면, 각 까마귀 노드에 할당된 이진 문자열을 해독하여 각 까마귀 노드에 해당하는 인공 신경망을 생성한다(S220). 초기 단계에서는 이진 문자열에 임의의 값을 부여하고, 이를 기초로 각 인공 신경망을 생성한 후 초기 평가를 수행한다. 주어진 데이터 집합의 인식 점수는 1차 평가 기준으로 사용되며, 각 까마귀의 기억은 검색 공간에서 가장 잘 수행되는 위치를 나타낸다. 선행 성능 데이터가 없기 때문에 최초 단계에서는 현재 위치를 최적의 위치로 간주하고, 기억한다. 이후 인식 점수도 가장 잘 달성된 성과로 저장된다. 초기 평가를 한 후에는 다음 단계인 대상 선택을 진행한다. 이때, 초기 평가 단계에서의 성능 평가를 위해 주어진 데이터 세트에서의 네트워크 성능 평가를 사용할 수 있다. 네트워크 성능 평가에 사용되는 함수는 기본적으로 주어진 데이터 세트에서 얻은 테스트 정확도를 나타내는 것이다.
다음으로, 토너먼트 방식에 따라 복수의 인공 신경망 중 가장 성능이 높은 제 1 까마귀 노드의 인공 신경망을 선택한다(S230).
그리고, 제 2 까마귀 노드가 제 1 까마귀 노드를 추적하도록 하되, 제 1 까마귀 노드의 기억 장소와 제 2 까마귀 노드의 위치 사이의 거리를 나타내는 해밍 거리에 기초하여 제 2 까마귀 노드의 비행 거리를 조절하도록 한다(S240).
앞선 단계(S230, S240)에 대해서는 도 3을 참조하여 더욱 상세히 설명하도록 한다.
기존의 CSA는 각 까마귀i에 대해 타겟 까마귀j가 무작위로 선택되어 너무 많은 무작위성과 더 오랜 수렴 시간을 유도하는 문제가 있었다. 본 발명에서는 각 까마귀에 대해 소량의 무리를 무작위로 선택하는 토너먼트 선택 절차를 수행하여, 빠른 시간내에 까마귀가 선택되도록 한다.
도 8은 본 발명의 일 실시예에 사용되는 토너먼트 선택 방식을 설명하기 위한 도면이다.
도 8에 도시된 바와 같이, 토너먼트 방식으로 인식 점수가 가장 높은 제 1 까마귀 노드(crowj)를 선택한다(S320, S330). 토너먼트 선택이란 각 까마귀에 대해 작은 양의 부분 집합을 무작위로 선택하는 절차이다. 제 2 까마귀(crowi)는 주어진 부분집합에서 가장 잘 달성된 성능을 가진 상태를 갖는 제 1 까마귀를 추적한다.
제 1 까마귀가 제 2 까마귀에게 반복적으로 선택되면 제 1 까마귀가 추적을 인지했는지에 대한 분기가 발생하는데(S340), 이를 위해 제 1 까마귀가 제 2 까마귀의 추적을 인지했을 확률을 나타내는 인식확률(ap j,iter)이 사용되며, 1에서 100 사이의 임의의 숫자(AP)를 생성한다. 임의의 숫자(AP)가 인식 확률(ap j,iter)보다 작거나 같다면 제 1 까마귀는 제 2 까마귀의 추적을 인지한 것으로 간주하고 제 1 까마귀는 랜덤한 위치로 이동한다(S350). 그렇지 않을 경우, 즉 이 숫자(AP)가 인식 확률(ap j,iter)보다 크면제 1 까마귀가 제 2 까마귀의 추적을 인지하지 못한 것으로 간주하고, 제 1 까마귀는 검색 공간의 임의의 위치로 이동한다(S360). 제2 까마귀의 위치와 제 1 까마귀가 기억하는 먹이 보관 장소와의 거리는 이진 문자열에서 해밍(Hamming) 거리로 계산된다. 해밍 거리 계산 과정에서는 두 문자열의 일치에 필요한 비트 대체 수를 측정하며, 비트 대체에 의해 대상 문자열과의 거리는 가까워진다.
도 11은 본 발명의 일 실시예에 적용되는 이진 문자열 사이의 해밍 거리 산출 과정을 도시한 도면이다.
해밍 거리를 구하기 위해 출발지의 이진 문자열(x i,iter)과 목적지의 이진 문자열(m j,iter)의 XOR 연산을 수행한다. 양 이진 문자열의 비트를 XOR 연산한 결과에서 1의 개수(즉, 2개의 비트의 값이 상이한 경우의 수)가 해밍 거리 값이 된다. 도 11의 (a) 도시된 바와 같이, XOR 연산 결과에 따라, 제 2 까마귀의 출발지와 제 1 까마귀의 먹이 보관 장소 사이의 해밍 거리는 4임을 확인할 수 있다.
한편, 까마귀의 비행 거리(fl)는 제 2 까마귀가 제 1 까마귀를 추적하는 동안 날아갈 거리를 의미하는데, 이는 이진 네트워크에서 이진 문자열의 최대 변경 횟수를 의미하며, 1에서 최대비행거리까지의 범위 내에서 선택된다. 제 2 까마귀의 최대비행거리에 비해 제 1 까마귀가 기억하고 있는 기억 장소를 나타내는 목적지가 가까이 있을 경우, 제 1 까마귀가 멀리 벗어날 가능성이 높다. 따라서 목적지를 과하게 벗어나지 않도록 해밍 거리에 기초하여 최대비행거리를 교정한다. 예를 들어, 해밍 거리가 4인 경우 최대비행거리는 그로부터 일정 거리(1 내지 3) 내에 위치하는 값으로 설정될 수 있다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 로컬 탐색과 글로벌 탐색의 개념을 설명하기 위한 도면이다.
도 11의 (b)의 예에 도시된 바와 같이, 제 2 까마귀의 최대비행거리(3)가 해밍 거리(4) 보다 작으면, 제 2 까마귀가 이동한 다음 위치(x i,iter+1)는 출발지와 목적지 사이, 즉 도 8의 중앙 점선의 왼쪽에 위치하게 되며, 이 경우에는 로컬 탐색을 수행한다.
또한, 도 11의 (c)의 예에 도시된 바와 같이, 제 2 까마귀의 최대비행거리(6)가 해밍 거리(4) 보다 크면, 제 2 까마귀가 이동한 다음 위치(x i,iter+1)는 목적지 보다 먼 곳, 즉 도 10의 중앙 점선의 오른쪽에 위치하게 되며, 이 경우에는 글로벌 탐색을 수행한다.
도 12은 본 발명의 일 실시예에 따른 발명의 효과를 설명하기 위한 도면이다.
붉은 색으로 도시된 것은 기존 CSA 알고리즘의 비행 거리를 나타내는 것으로, 고정 비행 거리를 사용할 경우, 목표물이 매우 가까울 경우에도 비행 거리가 길어질 확률이 매우 크다. 그러나, 본 발명에서는 해밍 거리를 기준으로 최대 비행 거리를 동적으로 조정하므로, 비행 거리가 길어질 확률이 낮아진다.
이와 같은 추적 단계에 의해, 제 2 까마귀의 위치는 점차 제 1 까마귀가 먹이를 보관한 장소의 위치와 가까워진다.
다시 도 2를 참조하면, 추적 단계 이후 각 인공 신경망 모델에 대한 평가를 수행한다(S250).
도 4는 본 발명의 일 실시예에 따른 인공 신경망 모델에 대한 평가 과정을 도시한 도면이고, 도 5는 본 발명의 일 실시예에 따른 인공 신경망 모델에 대한 메모리 갱신 과정을 도시한 도면이다.
각 까마귀의 위치를 나타내는 이진 문자열을 해독하여 인공 신경망 모델을 구축하고, 이를 컴파일한다. 컴파일 된 인공 신경망 모델은 주어진 훈련 데이터 집합에 대해 훈련되고, 이를 적합도 함수에 적용하여 평가 점수를 산출한다(S430).
이때의 평가 점수는 제 2 까마귀의 현재 위치에서 적합성으로 사용된다. 이때, 네트워크에서 얻은 정확도가 적합도 함수로 사용될 수 있다.
그리고, 신경망 모델에 대한 평가 결과를 토대로 메모리 업데이터를 수행한다. 산출된 평가 결과가 기 저장된 평가 결과보다 우수한 것으로 산출되면(S530), 즉, 현재 성능이 이전에 달성한 최고성능보다 좋다면 현재의 제 2 까마귀의 위치가 기억되고, 최고 성능 또한 현재의 인식 점수로 갱신된다(S540). 그리고, 까마귀의 현재 위치를 나타내는 인공 신경망 모델이 메모리에 할당된다(S550).
마지막으로 앞선 단계들(S230~S250)을 반복 수행한다(S260). 추적, 평가, 메모리 갱신을 반복적으로 수행하며, 반복은 마지막 반복이 끝날 때까지 검색 공간을 탐험한다. 가장 높은 인식 점수를 가진 까마귀는 최종 컴파일 된 인공 신경망을 가지고, 노드 목록은 이진 문자열로 다시 표현되어 임의의 값이 생성된다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍처를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본원의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.
100: 인공 신경망 구조의 자동 설계 장치
110: 메모리
120: 프로세서
130: 통신 모듈

Claims (6)

  1. CSA(Crow Search Algorithm)에 기반한 인공 신경망 구조의 자동 설계 방법에 있어서,
    (a) 이진 문자열로 표현된 복수의 까마귀 노드를 포함하는 까마귀 군집을 생성하는 단계;
    (b) 각 까마귀 노드의 이진 문자열을 해독하고 각 까마귀 노드에 해당하는 신경망을 생성하는 단계;
    (c) 토너먼트 방식에 따라 복수의 신경망 중 가장 성능이 높은 제 1 까마귀 노드의 신경망을 선택하는 단계;
    (d) 제 2 까마귀 노드가 제 1 까마귀 노드를 추적하도록 하되, 제 1 까마귀 노드의 기억 장소와 제 2 까마귀 노드의 위치 사이의 거리를 나타내는 해밍 거리에 기초하여 제 2 까마귀 노드의 비행 거리를 조절하는 단계;
    (e) 각 까마귀 노드의 위치에 의해 특정된 신경망 모델에 대한 평가를 수행하는 단계;
    (f) 상기 (c)~(e) 단계를 반복 수행하여 최적 평가 점수를 가진 신경망 모델을 선택하는 단계를 포함하는, 인공 신경망 구조의 자동 설계 방법.
  2. 제1항에 있어서,
    상기 (d) 단계는,
    상기 제 2 까마귀 노드의 최대 비행거리가 상기 해밍 거리보다 작으면 로컬 탐색을 수행하고,
    상기 제 2 까마귀 노드의 최대 비행거리가 상기 해밍 거리보다 크면 글로벌 탐색을 수행하는 것인, 인공 신경망 구조의 자동 설계 방법.
  3. 제1항에 있어서,
    상기 (e) 단계는,
    상기 제 2 까마귀 노드의 위치를 나타내는 이진 문자열을 해독하여 인공 신경망 모델을 구축하고, 구축된 인공 신경망 모델을 기 설정된 훈련 데이터를 이용하여 훈련시킨 후 적합도 함수에 적용하여 평가 점수를 산출하고,
    산출된 평가 결과가 기 저장된 평가 결과보다 우수한 경우, 현재의 제 2 까마귀 노드의 위치를 나타내는 신경망 모델을 최적 신경망 모델로 갱신하는 것인, 인공 신경망 구조의 자동 설계 방법.
  4. CSA(Crow Search Algorithm)에 기반한 인공 신경망 구조의 자동 설계 장치에 있어서,
    통신 모듈;
    인공 신경망 자동 설계 프로그램이 저장된 메모리; 및
    상기 메모리에 저장된 인공 신경망 자동 설계 프로그램을 실행하는 프로세서를 포함하며,
    상기 인공 신경망 자동 설계 프로그램은 (a) 이진 문자열로 표현된 복수의 까마귀 노드를 포함하는 까마귀 군집을 생성하는 단계; (b) 각 까마귀 노드의 이진 문자열을 해독하고 각 까마귀 노드에 해당하는 신경망을 생성하는 단계; (c) 토너먼트 방식에 따라 복수의 신경망 중 가장 성능이 높은 제 1 까마귀 노드의 신경망을 선택하는 단계; (d) 제 2 까마귀 노드가 제 1 까마귀 노드를 추적하도록 하되, 제 1 까마귀 노드의 기억 장소와 제 2 까마귀 노드의 위치 사이의 거리를 나타내는 해밍 거리에 기초하여 제 2 까마귀 노드의 비행 거리를 조절하는 단계; (e) 각 까마귀 노드의 위치에 의해 특정된 신경망 모델에 대한 평가를 수행하는 단계; 및 (f) 상기 (c)~(e) 단계를 반복 수행하여 최적 평가 점수를 가진 신경망 모델을 선택하는 단계를 포함하는, 인공 신경망 구조의 자동 설계 장치.
  5. 제4항에 있어서,
    상기 (d) 단계는,
    상기 제 2 까마귀 노드의 최대 비행거리가 상기 해밍 거리보다 작으면 로컬 탐색을 수행하고,
    상기 제 2 까마귀 노드의 최대 비행거리가 상기 해밍 거리보다 크면 글로벌 탐색을 수행하는 것인, 인공 신경망 구조의 자동 설계 장치.
  6. 제4항에 있어서,
    상기 (e) 단계는,
    상기 제 2 까마귀 노드의 위치를 나타내는 이진 문자열을 해독하여 인공 신경망 모델을 구축하고, 구축된 인공 신경망 모델을 기 설정된 훈련 데이터를 이용하여 훈련시킨 후 적합도 함수에 적용하여 평가 점수를 산출하고,
    산출된 평가 결과가 기 저장된 평가 결과보다 우수한 경우, 현재의 제 2 까마귀 노드의 위치를 나타내는 신경망 모델을 최적 신경망 모델로 갱신하는 것인, 인공 신경망 구조의 자동 설계 장치.
KR1020200135247A 2020-10-19 2020-10-19 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치 KR20220051627A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200135247A KR20220051627A (ko) 2020-10-19 2020-10-19 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200135247A KR20220051627A (ko) 2020-10-19 2020-10-19 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20220051627A true KR20220051627A (ko) 2022-04-26

Family

ID=81391447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200135247A KR20220051627A (ko) 2020-10-19 2020-10-19 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20220051627A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116702053A (zh) * 2023-08-09 2023-09-05 长春理工大学 一种基于多元信息与mcsa-svm的农机故障检测方法
CN116911903A (zh) * 2023-09-12 2023-10-20 福建福诺移动通信技术有限公司 一种分析用户的模型自动调参的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122232B1 (ko) 2019-12-31 2020-06-15 주식회사 알고리마 멀티 태스크를 위한 신경망 자동 생성 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102122232B1 (ko) 2019-12-31 2020-06-15 주식회사 알고리마 멀티 태스크를 위한 신경망 자동 생성 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116702053A (zh) * 2023-08-09 2023-09-05 长春理工大学 一种基于多元信息与mcsa-svm的农机故障检测方法
CN116911903A (zh) * 2023-09-12 2023-10-20 福建福诺移动通信技术有限公司 一种分析用户的模型自动调参的方法及装置

Similar Documents

Publication Publication Date Title
US11610131B2 (en) Ensembling of neural network models
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US11853893B2 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
Kaveh et al. Application of meta-heuristic algorithms for training neural networks and deep learning architectures: A comprehensive review
CN112818137A (zh) 基于实体对齐的多源异构知识图谱协同推理方法及装置
KR20220051627A (ko) 까마귀 탐색 알고리즘에 기반한 인공 신경망 구조의 자동 설계 방법 및 장치
Ibrahim et al. An improved runner-root algorithm for solving feature selection problems based on rough sets and neighborhood rough sets
Dhahri et al. Hierarchical multi-dimensional differential evolution for the design of beta basis function neural network
Ahmad et al. Image classification based on automatic neural architecture search using binary crow search algorithm
Fu et al. Solving TSP problem with improved genetic algorithm
Wang et al. A feature selection method by using chaotic cuckoo search optimization algorithm with elitist preservation and uniform mutation for data classification
Huang et al. Modellight: Model-based meta-reinforcement learning for traffic signal control
Sheneman et al. Evolving autonomous learning in cognitive networks
US20240095535A1 (en) Executing a genetic algorithm on a low-power controller
US20220414460A1 (en) Predictive Modeling of Aircraft Dynamics
US20230325659A1 (en) System and method for avoiding catastrophic forgetting in an artificial neural network
KR102211604B1 (ko) Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템
Santos et al. A pso approach for learning transition structures of higher-order dynamic bayesian networks
Liu et al. An overview of opponent modeling for multi-agent competition
US20230289563A1 (en) Multi-node neural network constructed from pre-trained small networks
Nivedetha Water Quality Prediction using AI and ML Algorithms
CN114385256B (zh) 系统参数的配置方法和配置装置
Ruengdetkhachorn et al. Feature Selection using Parallel Cuckoo Algorithm with Naïve Bayes Classifier based on Two Different Strategies
US20230239336A1 (en) Method of processing a new visitor session to a web-based system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal