KR102255470B1 - 인공신경망 모델의 검증 방법 및 장치 - Google Patents

인공신경망 모델의 검증 방법 및 장치 Download PDF

Info

Publication number
KR102255470B1
KR102255470B1 KR1020190007127A KR20190007127A KR102255470B1 KR 102255470 B1 KR102255470 B1 KR 102255470B1 KR 1020190007127 A KR1020190007127 A KR 1020190007127A KR 20190007127 A KR20190007127 A KR 20190007127A KR 102255470 B1 KR102255470 B1 KR 102255470B1
Authority
KR
South Korea
Prior art keywords
verification
checkpoint
neural network
artificial neural
network model
Prior art date
Application number
KR1020190007127A
Other languages
English (en)
Other versions
KR20200090061A (ko
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 KR1020190007127A priority Critical patent/KR102255470B1/ko
Publication of KR20200090061A publication Critical patent/KR20200090061A/ko
Application granted granted Critical
Publication of KR102255470B1 publication Critical patent/KR102255470B1/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/08Learning methods
    • 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

Abstract

인공신경망 모델의 검증 방법 및 장치가 제공된다. 검증 장치는 학습 프로세스의 실행에 따라 생성되는 체크포인트를 대기하며, 체크포인트가 생성되면 상기 체크포인트를 읽어들여서 검증 데이터셋을 이용하여 모델의 검증 프로세스를 실행한다. 학습 프로세스와 검증 프로세스는 분리되어 각각 실행된다.

Description

인공신경망 모델의 검증 방법 및 장치{Method and apparatus for artificial neural network}
본 발명은 검증 방법에 관한 것으로, 더욱 상세하게 말하자면, 인공신경망 모델을 검증하는 방법 및 장치에 관한 것이다.
인공신경망(artificial neural network)은 인공 지능의 한 분야로서, 사람의 신경 구조를 모사하여 기계가 학습하도록 만든 알고리즘이다. 최근, 이미지 인식, 음성 인식, 자연어 처리 등에 적용되어 뛰어난 효과를 보이고 있다. 인공신경망은 입력을 받는 입력 계층(input layer), 실제 학습을 하는 은닉 계층(hidden layer), 연산의 결과를 반환하는 출력 계층(output layer)으로 구성된다. 은닉 계층이 복수인 것을 심층 인공신경망(deep neural network)이라고 하고 이 또한 인공 신경망의 일종이다.
인공신경망은 데이터를 기반으로 컴퓨터가 스스로 학습할 수 있도록 한다. 인공신경망을 이용하여 어떤 문제를 풀려고 할 때 준비해야 할 것은 적합한 인공신경망 모델과 분석할 데이터이다. 목표로 하는 문제를 해결하기 위한 인공신경망 모델은 데이터에 기반하여 학습된다. 모델을 학습하기 전에 먼저 데이터를 두 종류로 나누는 작업이 필요하다. 즉, 데이터를 학습 데이터셋(train dataset)과 검증 데이터셋(validation dataset)으로 나눠야 한다. 학습 데이터셋은 모델을 학습시키는데 사용되고, 검증 데이터셋은 모델의 성능을 검증하기 위한 용도로 사용된다.
인공신경망 모델을 검증하는 이유는 여러가지이다. 인공신경망 개발자는 모델의 검증 결과를 기반으로 모델의 하이퍼(hypoer) 파라미터를 수정함으로써 모델을 튜닝한다. 또한, 여러가지 모델 중 어떤 모델이 적합한지 선택하기 위해 모델을 검증한다.
모델의 검증이 필요한 이유를 좀더 구체적으로 설명하면 다음과 같다.
첫 번째는 정확도를 예측하기 위해서이다. 인공신경망의 목적은 결과적으로 학습에 사용되지 않은 표본 외 데이터에 대해서 좋은 성능을 내는 것이다. 그러므로 모델을 만든 후에 이 모델이 표본 외 데이터에 대해 얼마나 잘 작동할지에 대한 확인이 반드시 필요하다. 하지만, 학습 데이터셋을 사용해서 모델을 검증하면 안되므로, 학습 데이터셋과는 별도의 검증 데이터셋을 활용하여 모델의 정확도를 측정해야 한다.
두 번째는 모델을 튜닝하여 모델의 성능을 높이기 위해서이다. 예를 들어, 과적합(overfitting)을 막을 수 있다. 과적합은 모델이 학습 데이터셋에 대해 너무 과도하게 학습된 것을 말한다. 한 예로, 학습 정확도(training accuracy)는 높은데 검증 정확도(validation accuracy)가 낮다면 과적합이 발생했을 가능성을 의심할 수 있다. 그리고 그것은 학습 오류율(training loss)과 검증 오류율(validation loss)를 통해서 좀더 자세히 파악할 수 있다. 과적합이 발생했다면 과적합을 막아서 검증 정확도를 높여야 한다. 정규화(Regularization)나 드롭아웃(dropout)과 같은 방법을 사용하여 과적합을 막을 수 있다.
이처럼 모델의 검증은 모델의 학습 과정에 관여하게 된다. 따라서 많은 경우에 모델을 학습하는 도중에 주기적으로 모델에 대한 검증을 실행하여 모델의 성능을 평가한다. 그런데 모델을 한번 검증할 때 적은 수의 데이터로만 검증을 하면 검증 결과에 대한 신뢰도가 떨어지게 된다. 예를 들어, 모델을 검증하여 검증 정확도(validation accuracy)를 출력하는데, 적은 수의 데이터로 검증을 실행하면 출력된 검증 정확도에 대한 정확도가 떨어져서 결과를 신뢰하기가 어렵게 된다. 따라서 검증을 실행할 때는 적당히 많은 수의 데이터로 검증을 실행해야 한다. 하지만, 많은 수의 데이터로 모델을 검증하면 검증 시간이 증가된다. 특히, 모델을 학습하는 중에 주기적으로 모델을 검증하는 경우, 검증 시간이 오래 걸리면 그만큼 모델의 학습 시간이 전체적으로 늘어나게 된다.
본 발명이 해결하고자 하는 과제는, 인공신경망 모델의 검증 신뢰도를 높이고 모델의 학습 시간을 단축할 수 있는 검증 방법 및 장치를 제공하는 것이다.
본 발명의 일 실시 예에 따른 방법은, 검증 장치가, 인공 신경망 모델의 검증을 수행하는 방법으로서, 상기 검증 장치가, 학습 프로세스의 실행에 따라 생성되는 체크포인트를 대기하는 단계; 및 상기 검증 장치가, 상기 체크포인트가 생성되면 상기 체크포인트를 읽어들여서 검증 데이터셋을 이용하여 모델의 검증 프로세스를 실행하는 단계를 포함하며, 상기 학습 프로세스와 상기 검증 프로세스는 분리되어 각각 실행된다.
본 발명의 실시 예에 따르면, 모델의 학습과 모델의 검증을 별도의 프로세스로 분리하여 실행된다. 구체적으로, 모델의 학습 프로세스는 학습을 실행하는 중에 주기적으로 모델의 체크포인트를 저장하고, 검증 프로세스는 저장된 체크포인트를 읽어들여서 모델의 검증을 실행한다.
이에 따라, 모델의 학습 프로세스는 모델의 학습 시간 도중에 검증을 수행하지 않아도 되므로 전체적인 학습 시간이 단축된다. 그리고 검증 프로세스가 검증할 때 필요한 만큼 충분히 많은 수의 데이터로 검증을 실행할 수 있으므로 검증 결과의 정확도를 높일 수 있다. 또한, 학습 프로세스가 학습과 검증을 모두 하는 경우보다 검증을 자주 실행할 수 있으므로, 검증 결과를 자주 추적할 수 있다는 장점이 있다.
또한, 검증 프로세스는 학습 프로세스와는 별도의 GPU나 CPU, 별도의 노드를 활용할 수 있으므로, 보유 중인 장비 중에서 성능이 낮은 것을 검증에 활용할 수 있다.
도 1은 일반적인 인공신경망 모델의 학습과 검증 방법을 나타낸 도이다.
도 2는 본 발명의 실시 예에 따른 인공신경망 모델의 검증 방법을 나타낸 개념도이다.
도 3은 본 발명의 다른 실시 예에 따른 인공신경망 모델의 검증 방법을 나타낸 개념도이다.
도 4는 본 발명의 또 다른 실시 예에 따른 인공신경망 모델의 검증 방법을 나타낸 개념도이다.
도 5는 본 발명의 실시 예에 따른 검증 방법의 흐름도이다.
도 6은 본 발명의 실시 예에 따른 검증 장치의 구조도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.
이하, 도면을 참조하여 본 발명의 실시 예에 따른 인공 신경망 모델의 검증 방법 및 장치에 대하여 설명한다.
도 1은 일반적인 인공신경망 모델의 학습과 검증 방법을 나타낸 도이다.
첨부한 도 1에서와 같이, 인공신경망 모델의 학습과 검증은 반복적으로 실행되며, 매회 반복(iteration)에서 데이터 배치(batch)를 입력 데이터로 받아서 수행된다. 그리고 이런 과정을 계속적으로 반복해서 실행한다.
인공신경망 모델을 학습하는 프로세스 즉, 학습 프로세스는 GPU(graphics processing unit), 또는 CPU(central processing unit)와 같은 프로세서에서 실행된다. 학습 프로세스는 모델을 학습하는 중에 주기적으로 모델을 검증한다. 예를 들어, 도 1에서와 같이, 학습하는 중 N회 반복(N iteration)을 주기로 모델을 검증하고, 모델을 검증할 때마다 M회 반복(M iteration)을 실행한다. 학습하면서 학습 정확도(training accuracy)와 학습 오류율(training loss)을 출력하고, 검증을 통해서 검증 정확도(validation accuracy)와 검증 오류율(validation loss)을 출력할 수 있다. 이와 같이 출력되는 값들을 통해서 학습이 얼마나 잘 되고 있는지 판단할 수 있다. 여기서, 검증을 반복 수행하는 횟수 M을 크게 할수록 정확한 검증 결과를 얻을 수 있고, 학습을 반복 수행하는 횟수 N이 작을수록 검증 결과를 자주 추적할 수 있다.
그러나 이 경우에 학습 시간은 늘어나게 된다. M이 작으면 검증 결과에 대한 신뢰도가 떨어지게 되고, N이 크면 검증 결과의 변화를 파악하기가 어려워지지만 학습 시간은 전체적으로 줄어들게 된다.
본 발명의 실시 예에서는, 모델의 학습과 모델의 검증을 별도의 프로세스로 분리하여 실행한다. 이에 따라 인공신경망 모델에 대한 검증 결과의 신뢰도를 높이면서 동시에 인공신경망 모델의 학습 시간을 단축시킬 수 있다.
도 2는 본 발명의 실시 예에 따른 인공신경망 모델의 검증 방법을 나타낸 개념도이다.
본 발명의 실시 예에서, 인공신경망 모델을 학습하는 학습프로세스(training process, TP)과 인공신경망 모델을 검증하는 검증 프로세스(verifying process, VP)가 분리되어 실행된다. 구체적으로, 학습 프로세스(TP)는 인공신경망 모델(이하, 설명의 편의를 위해, 모델이라고 명명함)의 학습만 실행하고 모델의 검증을 실행하지 않는다. 그리고 검증 프로세스(VP)는 모델의 검증만 실행하고 학습을 하지 않는다. 이에 따라, 학습 프로세스(TP)는 도 2에서와 같이, GPU0에서 실행되고, 검증 프로세스(VP)는 GPU1에서 실행될 수 있다.
학습 프로세스(TP)는 학습의 매 주기에 N회 반복을 실행한다. 모델의 학습을 실행하는 중 주기적으로 학습중인 모델의 체크포인트(check point, CKPT)를 저장한다. 체크포인트는 특정 시점에 모델 변수의 상태를 포착한 데이터로서 학습된 모델의 상태를 포함한다. 첨부한 도 2에서와 같이, 학습 프로세스(TP)가 N회 반복을 주기로 학습 중인 모델의 체크포인트를 저장한다. 검증 프로세스(VP)는 새로운 체크포인트를 기다리다가 새로운 체크포인트가 생성되면 그것을 읽어들여서 검증 데이터셋을 이용하여 모델의 검증을 실행한다. 모델을 검증할 때마다 M회 반복을 실행한다.
만일, 검증 프로세스(VP)가 한번의 검증 주기를 실행하는 중에 체크포인트가 두 개 이상 저장되었다면, 검증 프로세스(VP)는 그 중에서 가장 최신 체크포인트를 읽어들여서 검증을 실행한다. 그리고 검증 프로세스(VP)는 한 번의 검증 주기를 실행 완료한 후에도 새로운 체크포인트가 생성되지 않았다면, 새로운 체크포인트가 생성될 때까지 실행을 멈추고 새로운 체크포인트를 기다린다.
대규모 모델의 경우, 학습을 빠르게 하기 위해서 다중 처리 장치, 예를 들어, 다중 GPU 혹은 다중 노드를 사용하여 분산 학습을 수행할 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 인공신경망 모델의 검증 방법을 나타낸 개념도이다.
첨부한 도 3에서, 대규모의 인공신경망 모델의 학습을 위해서 K개의 처리 장치(여기서는 GPU를 예로 들어 설명함, GPU 0~GPU K-1)를 이용하여 분산 학습을 실행한다. 이때, 각 GPU에서 실행되는 학습 프로세스는 학습의 매 주기에 N/K번의 반복을 실행한다. 그리고 학습 프로세스(TP) 중에서 설정 번째, 예를 들어, 제일 첫 번째 GPU(예: GPU 0)에서 실행되는 학습 프로세스(주학습 프로세스라고 명명함)만 체크포인트를 저장한다.
전체 K개의 GPU를 이용하여 학습이 진행되므로, 주학습 프로세스는 N/K 번의 반복(iteration)을 주기로 체크포인트를 저장한다. 검증 프로세스(VP)는 새로운 체크포인트가 생성되면 그것을 읽어들여서 검증 데이터셋을 이용해 모델의 검증을 실행한다. 모델을 검증할 때마다 M회 반복을 실행한다. 검증 프로세스(VP)는 예를 들어, GPU K에서 실행될 수 있다. 여기서, N, M, K 등의 변수는 사용자에 의해서 설정 가능하다. N, M, K의 값에 따라서 학습 프로세스와 검증 프로세스의 주기, 시간, 횟수는 달라질 수 있다.
만일, 검증 프로세스(VP)가 한 번의 검증 주기를 실행하는 동안에 주학습 프로세스에 의해서 2개 이상의 체크포인트가 저장되었으면, 검증 프로세스(VP)는 그 중 가장 최신의 체크포인트를 읽어들여서 검증을 실행한다. 그리고 검증 프로세스(VP)는 한 번의 검증 주기를 실행 완료한 후에도 새로운 체크포인트가 생성되지 않았다면, 새로운 체크포인트가 생성될 때까지 실행을 멈추고 새로운 체크포인트를 기다린다.
도 4는 본 발명의 또 다른 실시 예에 따른 인공신경망 모델의 검증 방법을 나타낸 개념도이다.
여기서는 원격 컴퓨터를 활용하여 분산 환경에서 검증을 수행하는 경우의 검증 방법의 예를 나타내었다.
다중 노드를 사용하는 분산 환경에서, 인공신경망 모델의 학습을 위해서 다수의 노드(여기서는 2개의 노드를 예로 들어 설명함, Node0, Node1)를 이용하여 학습을 실행한다. 구체적으로, 노드 1(Node 0)에서 학습 프로세스를 실행하며, 노드 2(Node1)에서 검증 프로세스를 실행한다. 노드 1(Node 0)에서 K개(여기서 K=4)의 GPU를 이용하여 분산 학습을 실행한다. 이 경우에도, 각 GPU에서 실행되는 학습 프로세스는 학습의 매 주기에 N/K번의 반복을 실행한다.
그리고 학습 프로세스(TP) 중에서 설정 번째, 예를 들어, 제일 첫 번째 GPU(예: GPU 0)에서 실행되는 학습 프로세스(주학습 프로세스라고 명명함)만 체크포인트를 저장한다. 전체 4개의 GPU를 이용하여 학습이 진행되므로, 주학습 프로세스는 N/4번의 반복(iteration)을 주기로 체크포인트를 공유 저장소에 저장한다. 다중 노드의 분산 환경에서 각 노드에서 데이터를 공유하기 위해 공유 저장소가 사용되며, 주학습 프로세스로부터 출력되는 체크포인트가 공유 저장소에 저장된다.
노드 2(Node 1)의 검증 프로세스(VP)는 새로운 체크포인트가 생성되면 공유 저장소로부터 그것을 읽어들여서 검증 데이터셋을 이용해 모델의 검증을 실행한다. 모델을 검증할 때마다 M회 반복을 실행한다.
이러한 분산 환경에서, 컴퓨터 중에서 상대적으로 성능이 낮은 것을 검증을 위해서 활용할 수 있다.
도 5는 본 발명의 실시 예에 따른 검증 방법의 흐름도이다.
학습 프로세스와 검증 프로세스가 분리되어 실행되는 상태에서, 검증 프로세스가 실행되는 장치(이하, 검증 장치라고 명명함)는, 도 5에 도시된 바와 같이, 체크포인트를 기다린다(S100). 학습 프로세스는 학습의 매 주기에 N회 반복을 실행하고, 모델의 학습을 실행하는 중 주기적으로 학습중인 모델의 체크포인트를 출력하여 저장한다. 체크포인트는 특정 시점에 모델 변수의 상태를 포착한 데이터이며, 학습된 모델의 상태를 포함한다.
검증 장치는 체크포인트를 기다리다가 새로운 체크포인트가 생성되면(S110), 체크포인트를 읽어 들어서 검증 데이터셋을 이용하여 모델의 검증을 실행한다. 이때, 생성된 체크포인트가 복수개이면(S120). 검증 장치는 복수의 체크포인트 중에서 가장 최신 체크포인트를 선택한다(S130).
이후, 검증 장치는 체크포인트를 읽어들여서 검증을 실행한다(S140).
검증 장치는 위와 같은 단계들(S100~140)을 매 검증 주기마다 수행하며, 한 번의 검증 주기를 실행 완료한 후에도 새로운 체크포인트가 생성되지 않았다면, 새로운 체크포인트가 생성될 때까지 실행을 멈추고 새로운 체크포인트를 기다린다.
도 6은 본 발명의 실시 예에 따른 검증 장치의 구조도이다.
첨부한 도 6에 도시되어 있듯이, 본 발명의 실시 예에 따른 검증 장치(100)는, 프로세서(110), 메모리(120), 입력 인터페이스 장치(130), 출력 인터페이스 장치(140), 및 저장 장치(160)를 포함하며, 이들은 버스(170)를 통해 통신할 수 있다.
프로세서(110)는 위의 도 2 내지 도 5를 토대로 설명한 방법들을 구현하도록 구성될 수 있다. 프로세서(110)는 예를 들어, 메모리(120)/저장 장치(160)에 저장되는 체크포인트를 읽고, 저장 장치(160)(또는 메모리)에 저장된 검증 데이터셋을 이용하여 인공신경망 모델의 검증을 수행하도록 구성될 수 있다.
한편, 프로세서(110)는 학습 프로세스를 실행하는 제1 프로세서와 검증 프로세스를 실행하는 제2 프로세서를 포함할 수 있다. 이 경우, 제1 프로세서는 저장 장치(160)(또는 메모리)에 저장된 학습 데이터셋을 이용하여 인공신경망 모델의 학습을 수행하고 체크포인트를 출력하여 메모리(120)/저장 장치(160)에 저장하도록 구성될 수 있다. 그리고 제2 프로세서는 메모리(120)/저장 장치(160)에 저장된 체크포인트를 읽고 저장 장치(160)(또는 메모리)에 저장된 검증 데이터셋을 이용하여 인공신경망 모델의 검증을 수행하도록 구성될 수 있다.
프로세서(110)는 중앙 처리 장치(CPU)이거나, GPU이거나, 또는 메모리(120) 또는 저장 장치(160)에 저장된 명령을 실행하는 반도체 장치일 수 있다.
메모리(120)는 프로세서(110)와 연결되고 프로세서(110)의 동작과 관련한 다양한 정보를 저장한다. 메모리(120)는 프로세서(110)에서 수행하기 위한 명령어를 저장하고 있거나 저장 장치(160)로부터 명령어를 로드하여 일시 저장할 수 있다. 프로세서(110)는 메모리(120)에 저장되어 있거나 로드된 명령어를 실행할 수 있다. 메모리는 ROM(121) 및 RAM(122)를 포함할 수 있다.
본 발명의 실시 예에서 메모리(120)/저장 장치(160)는 프로세서(110)의 내부 또는 외부에 위치할 수 있고, 이미 알려진 다양한 수단을 통해 프로세서(110)와 연결될 수 있다. 메모리(120)/저장 장치(160)는 학습 프로세스의 학습에 따라 생성되는 체크포인트를 저장하도록 구성될 수 있다.
입력 인터페이스 장치(130)는 운영자(또는 운영자의 단말)로부터 입력되는 신호를 제공받아 프로세서(110)로 전달하도록 구성될 수 있다.
또한, 본 발명의 실시 예에 따른 검증 장치(100)는 네트워크 인터페이스 장치(150)를 더 포함할 수 있으며, 네트워크 인터페이스 장치(150)는 네트워크에 연결되어 신호를 송수신하도록 구성된다. 네트워크 인터페이스 장치(150)는 예를 들어, 분산 환경에서 공유 저장소에 저장된 체크포인트를 읽어서 프로세서(110)로 제공하도록 구성될 수 있다.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시 예의 구성에 대응하는 기능을 실현하기 위한 프로그램, 그 프로그램이 기록된 기록 매체 등을 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (10)

  1. 검증 장치가, 인공 신경망 모델의 검증을 수행하는 검증 방법으로서,
    상기 검증 장치는 복수의 처리 장치를 포함하며,
    상기 복수의 처리 장치 중 K개의 처리 장치가 인공 신경망 모델의 학습 프로세스를 각각 수행하는 단계;
    상기 K개의 처리 장치 중 설정 번째의 처리 장치가 학습 중인 인공 신경망 모델의 체크포인트를 저장소에 저장하는 단계;
    상기 복수의 처리 장치 중 상기 K개의 처리 장치를 제외한 다른 처리 장치가, 설정된 검증 주기에서 체크포인트의 생성 여부를 체크하는 단계; 및
    상기 다른 처리 장치는, 체크 포인트가 생성되어 상기 저장소에 저장되어 있으면, 상기 체크포인트를 읽어 들인 다음에 검증 데이터셋을 이용하여 상기 인공 신경망 모델의 검증 프로세스를 실행하는 단계
    를 포함하고,
    상기 다른 처리 장치는 상기 검증 주기에서 체크포인트가 생성되지 않아서 상기 저장소에 저장되어 있지 않으면, 검증 프로세스를 실행하지 않고 체크포인트가 생성되기를 대기하는, 검증 방법.
  2. 삭제
  3. 제1항에 있어서
    상기 학습 프로세스를 각각 수행하는 단계에서, 상기 K개의 처리 장치 각각은 인공 신경망 모델을 학습하는 학습 프로세스를 제1 횟수만큼 반복 실행하며,
    상기 검증 프로세스를 실행하는 단계에서, 상기 다른 처리 장치는, 상기 검증 프로세스를 제2 횟수만큼 반복 수행하고,
    상기 체크포인트를 저장소에 저장하는 단계에서, 상기 설정 번째의 처리 장치가 상기 학습 프로세스의 제1 횟수 반복 실행 후에 상기 학습 중인 인공 신경망 모델의 체크포인트를 저장하는, 검증 방법.
  4. 제1항에 있어서
    상기 검증 프로세스를 실행하는 단계에서, 상기 검증 주기에 상기 저장소에 저장된 체크포인트가 2개 이상이면, 가장 최신으로 생성된 체크포인트를 읽어들여서 검증 프로세스를 실행하는, 검증 방법.
  5. 제3항에 있어서
    상기 제1 횟수와 상기 제2 횟수는 상이한, 검증 방법.
  6. 검증 장치가, 인공 신경망 모델의 검증을 수행하는 검증 방법으로서,
    상기 검증 장치는 복수의 노드를 포함하고,
    제1 노드가 복수의 처리 장치를 이용하여 인공 신경망 모델의 학습 프로세스를 각각 수행하는 단계;
    상기 제1 노드의 복수의 처리 장치 중 설정 번째의 처리 장치가 학습 중인 인공 신경망 모델의 체크포인트를 공유 저장소에 저장하는 단계;
    제2 노드가 설정된 검증 주기에서 상기 공유 저장소를 통해 체크포인트의 생성 여부를 체크하는 단계; 및
    상기 제2 노드는 체크포인트가 생성되어 상기 공유 저장소에 저장되어 있으면, 상기 체크포인트를 읽어 들인 다음에 검증 데이터셋을 이용하여 상기 인공 신경망 모델의 검증 프로세스를 실행하는 단계
    를 포함하고,
    상기 제2 노드는 상기 검증 주기에서 체크포인트가 생성되지 않아서 상기 공유 저장소에 저장되어 있지 않으면, 검증 프로세스를 실행하지 않고 체크포인트가 생성되기를 대기하는, 검증 방법.
  7. 인공 신경망 모델을 학습하는 학습 프로세스의 실행에 따른 체크포인트를 저장하도록 구성된 저장 장치; 및
    복수의 처리 유닛을 포함하도록 구성된 프로세서
    를 포함하고,
    상기 프로세서의 복수의 처리 유닛 중 K개의 처리 유닛이 인공 신경망 모델의 학습 프로세스를 각각 수행하며, 상기 K개의 처리 유닛 중 설정 번째의 처리 유닛이 학습 중인 인공 신경망 모델의 체크포인트를 상기 저장 장치에 저장하고, 상기 복수의 처리 유닛 중 상기 K개의 처리 유닛을 제외한 다른 처리 유닛이 설정된 검증 주기에서 체크포인트의 생성 여부를 체크하여, 상기 저장 장치에 체크포인트가 생성되어 저장되어 있으면, 상기 체크포인트를 읽어 들인 다음에 검증 데이터셋을 이용하여 상기 인공 신경망 모델의 검증 프로세스를 실행하도록 구성되며,
    상기 다른 처리 유닛은 추가적으로, 상기 검증 주기에서 체크포인트가 생성되지 않아서 상기 저장 장치에 저장되어 있지 않으면, 검증 프로세스를 실행하지 않고 체크포인트가 생성되기를 대기하도록 구성되는, 검증 장치.
  8. 제7항에 있어서
    상기 K개의 처리 유닛 각각은, 미리 설정된 학습 주기에 인공 신경망 모델을 학습하는 학습 프로세스를 제1 횟수만큼 반복 실행하고, 상기 설정 번째의 처리 유닛이 학습 프로세스의 제1 횟수 반복 실행 후에 상기 학습 중인 인공 신경망 모델의 체크포인트를 저장하도록 구성되며,
    상기 다른 처리 유닛은 상기 검증 프로세스를 제2 횟수만큼 반복 실행하도록 구성되는, 검증 장치.
  9. 제8항에 있어서
    상기 프로세서의 다른 처리 유닛은 상기 검증 주기에 상기 저장 장치에 저장된 체크포인트가 2개 이상이면, 가장 최신으로 생성된 체크포인트를 읽어들여서 검증 프로세스를 실행하도록 구성되는, 검증 장치.
  10. 제8항에 있어서
    상기 제1 처리 횟수와 상기 제2 처리 횟수는 상이한, 검증 장치.



KR1020190007127A 2019-01-18 2019-01-18 인공신경망 모델의 검증 방법 및 장치 KR102255470B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190007127A KR102255470B1 (ko) 2019-01-18 2019-01-18 인공신경망 모델의 검증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190007127A KR102255470B1 (ko) 2019-01-18 2019-01-18 인공신경망 모델의 검증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200090061A KR20200090061A (ko) 2020-07-28
KR102255470B1 true KR102255470B1 (ko) 2021-05-24

Family

ID=71831523

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190007127A KR102255470B1 (ko) 2019-01-18 2019-01-18 인공신경망 모델의 검증 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102255470B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220095167A (ko) 2020-12-29 2022-07-06 (주)심플랫폼 인공지능 검증 시스템 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190080257A1 (en) 2017-09-08 2019-03-14 Intel Corporation Checkpointing disk configuration using machine learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190080257A1 (en) 2017-09-08 2019-03-14 Intel Corporation Checkpointing disk configuration using machine learning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Multi-tenant GPU Clusters for Deep Learning Workloads: Analysis and Implications. Myeongjae Jeon, Shivaram Venkataraman, Amar Phanishayee, Junjie Qian, Wencong Xiao, Fan Yang. MSR-TR-2018-13. 2018.05.*

Also Published As

Publication number Publication date
KR20200090061A (ko) 2020-07-28

Similar Documents

Publication Publication Date Title
CN110168578B (zh) 具有任务特定路径的多任务神经网络
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US20200210847A1 (en) Ensembling of neural network models
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
US11853893B2 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
EP3816806A1 (en) Utilizing neural network and artificial intelligence models to select and execute test cases in a software development platform
JP6892424B2 (ja) ハイパーパラメータチューニング方法、装置及びプログラム
WO2019006541A1 (en) SYSTEM AND METHOD FOR AUTOMATIC CONSTRUCTION OF LEARNING MACHINES USING LEARNING MACHINES
US20200167660A1 (en) Automated heuristic deep learning-based modelling
CN115427968A (zh) 边缘计算设备中的鲁棒人工智能推理
CN110321458B (zh) 一种基于控制流图的数据流分析方法及装置
KR102255470B1 (ko) 인공신경망 모델의 검증 방법 및 장치
CN113592095B (zh) 一种基于量子计算的模型训练方法及装置
US9619598B2 (en) Input space reduction for verification test set generation
WO2020169182A1 (en) Method and apparatus for allocating tasks
CN112990461B (zh) 构建神经网络模型的方法、装置、计算机设备和存储介质
KR20220032861A (ko) 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치
Paduraru et al. RiverFuzzRL-an open-source tool to experiment with reinforcement learning for fuzzing
WO2020190745A1 (en) Budgeted neural network architecture search system and method
KR102635546B1 (ko) 기계 학습을 통한 심볼릭 실행의 탐색 공간 자동 축소 방법
CN117114087B (zh) 故障预测方法、计算机设备和可读存储介质
CN115081628B (zh) 一种深度学习模型适配度的确定方法及装置
CN111582474B (zh) 神经网络结构探测方法、结构探测模型的训练方法及装置
US20230016735A1 (en) Computer, Diagnosis System, and Generation Method
JP6994572B2 (ja) データ処理システムおよびデータ処理方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant