KR101899101B1 - 인공 신경망 기반 예측 모델 생성 장치 및 방법 - Google Patents

인공 신경망 기반 예측 모델 생성 장치 및 방법 Download PDF

Info

Publication number
KR101899101B1
KR101899101B1 KR1020160068326A KR20160068326A KR101899101B1 KR 101899101 B1 KR101899101 B1 KR 101899101B1 KR 1020160068326 A KR1020160068326 A KR 1020160068326A KR 20160068326 A KR20160068326 A KR 20160068326A KR 101899101 B1 KR101899101 B1 KR 101899101B1
Authority
KR
South Korea
Prior art keywords
neural network
artificial neural
input
vectors
value
Prior art date
Application number
KR1020160068326A
Other languages
English (en)
Other versions
KR20170136357A (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 KR1020160068326A priority Critical patent/KR101899101B1/ko
Priority to US15/609,593 priority patent/US11250308B2/en
Priority to PCT/KR2017/005753 priority patent/WO2017209548A1/ko
Priority to EP17807041.3A priority patent/EP3467724A4/en
Publication of KR20170136357A publication Critical patent/KR20170136357A/ko
Application granted granted Critical
Publication of KR101899101B1 publication Critical patent/KR101899101B1/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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 인공 신경망 기반 예측 모델 생성 장치로, L(L은 자연수)차원 어레이 입력 데이터를 정규화된 벡터 데이터로 변환하여 모델링부에 입력하는 입력 데이터 변환부와, 상기 입력된 벡터 데이터를 학습하기 위한 인공 신경망 기반의 예측 모델을 모델링하고, 모델링을 통한 예측값을 출력하는 모델링부와, 상기 모델링부에 의한 예측값과 실제 측정값을 비교하여 오차값을 계산하고, 오차값을 이용하여 역전파(Back Propagation) 알고리즘을 이용하여 상기 인공 신경망의 학습 파라미터를 조정하는 조정부를 포함한다.

Description

인공 신경망 기반 예측 모델 생성 장치 및 방법{Apparatus and Method for Generating Prediction Model based on Artificial Neural Networks}
본 발명은 인공 신경망 기술에 관한 것으로, 특히 인공 신경망에 입력될 데이터를 처리하고, 그 데이터를 입력받아 인공 신경망 기반으로 모델링하는 장치 및 방법에 관한 것이다.
예측 기술의 하나로 협업 필터링 알고리즘이란 추천 시스템에서 쓰이는 기법으로, 아이템들에 대한 사용자의 이전 평가를 바탕으로 다른 아이템에 대한 평가를 예측하는 기법이다. 2007년~2009년 Netflix Prize라는 대회를 통해 주목을 크게 받기 시작하였고, 아마존, 유튜브, 구글 등 세계 여러 기업에서 다양한 형태로 응용이 되고 있다.
기존의 협업 필터링 알고리즘은 Baseline Predictor, matrix factorization, kNN 등의 방법이 있는데, 이러한 방법에서는 모델이 너무 단순하기 때문에 뛰어난 성능을 발휘하지는 못한다.
본 발명은 뛰어난 성능을 발휘할 수 있도록 인공 신경망을 이용하여 협업 필터링과 같은 예측 모델을 구현하는 장치 및 방법을 제안한다.
또한, 본 발명은 인공 신경망으로 입력되는 데이터의 불균형을 보정해주기 위해 입력 데이터를 정규화해주는 장치 및 방법을 제안한다.
또한, 본 발명은 협업 필터링 모델 생성을 위해 사용되는 알고리즘인 인공 신경망을 이용한 모델의 과적합 문제를 해결하기 위한 장치 및 방법을 제안한다.
또한, 본 발명은 기존 학습된 모델을 이용하여 레이팅 예측(Rating prediction)을 간단히 할 수 있어, 데이터의 실시간 처리에 적합한 장치 및 방법을 제안한다.
본 발명은 인공 신경망 기반 예측 모델 생성 장치로, L(L은 자연수)차원 어레이(tensor) 입력 데이터를 정규화된 벡터 데이터로 변환하여 모델링부에 입력하는 입력 데이터 변환부와, 상기 입력된 벡터 데이터를 학습하기 위한 인공 신경망 기반의 예측 모델을 모델링하고, 모델링을 통한 예측값을 출력하는 모델링부와, 상기 모델링부에 의한 예측값과 실제 측정값을 비교하여 오차값을 계산하고, 오차값을 이용하여 역전파(Back Propagation) 알고리즘을 이용하여 상기 인공 신경망의 학습 파라미터를 조정하는 조정부를 포함한다.
상기 입력 데이터 변환부는 상기 L(L은 자연수) 차원 어레이의 소정 엘리먼트 값에 해당하는 L개의 벡터들을 정규화하는 입력 데이터 정규화부와, 상기 L개의 벡터들을 상기 인공 신경망에 입력하는 정규화 벡터 입력 처리부를 포함한다.
상기 입력 데이터 정규화부는 상기 L개의 벡터들 각각의 엘리먼트의 갯수에 벡터의 길이를 제로가 아닌 엘리먼트의 수로 나눈 값으로 정규화한다.
상기 정규화 벡터 입력 처리부는 상기 L개의 벡터들을 일렬로 연결한 행 벡터 형태로 상기 인공 신경망에 입력한다.
상기 모델링부는 상기 인공 신경망의 입력 계층과 은닉 계층 사이, 은닉 계층과 은닉 계층 사이, 은닉 계층과 출력 계층 사이에서 데이터의 분포를 정규화시키는 배치 정규화가 적어도 한번 이상 수행되도록 한다.
상기 모델링부는 입력값들의 평균을 산출한 후, 상기 평균을 이용해 상기 입력값들의 분산값을 계산하고, 상기 분산값을 이용해 정규화된 값을 구하고, 상기 정규화된 값을 스케일(scale) 및 쉬프트(shift)하여 배치 정규화된 값을 산출한다.
상기 모델링부는 상기 은닉 계층에서 상기 배치 정규화된 값에 비선형 함수를 적용한다.
상기 모델링부는 상기 출력 계층에서 상기 배치 정규화되어 출력된 값들에 소프트맥스 함수(Softmax function)를 적용하여 레이팅별 확률을 산출하고, 가중치를 적용한 뒤, 합산하여 상기 예측값을 출력한다.
상기 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, 상기 L차원 어레이에서 예측하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 예측값을 출력하도록 상기 입력 데이터 변환부 및 상기 모델링부를 제어하는 제어부를 더 포함하되, 상기 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일하다.
상기 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, 상기 L차원 어레이에서 학습하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 상기 예측 모델을 추가 학습하도록 상기 입력 데이터 변환부, 상기 모델링부 및 상기 조정부를 제어하는 제어부를 더 포함하되, 상기 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일하다.
본 발명은 인공 신경망 입력 데이터 변환 장치로, L(L은 자연수) 차원 어레이(tensor)의 소정 엘리먼트 값에 해당하는 L개의 벡터들을 정규화하는 입력 데이터 정규화부와, 상기 L개의 벡터들을 인공 신경망에 입력하는 정규화 벡터 입력 처리부를 포함한다.
상기 입력 데이터 정규화부는 상기 L개의 벡터들 각각의 엘리먼트의 갯수에 벡터의 길이를 제로가 아닌 엘리먼트의 수로 나눈 값으로 정규화한다.
상기 정규화 벡터 입력 처리부는 상기 L개의 벡터들을 일렬로 연결한 행 벡터 형태로 상기 인공 신경망에 입력한다.
본 발명은 인공 신경망 기반 예측 모델 생성 방법으로, L(L은 자연수) 차원 어레이(tensor) 입력 데이터를 정규화된 벡터 데이터로 변환하는 단계와, 상기 입력된 벡터 데이터를 학습하기 위한 인공 신경망 기반의 예측 모델을 모델링하고, 모델링을 통한 예측값을 출력하는 단계와, 상기 모델링부에 의한 예측값과 실제 측정값을 비교하여 오차값을 계산하고, 오차값을 이용하여 역전파(Back Propagation) 알고리즘을 이용하여 상기 인공 신경망의 학습 파라미터를 조정하는 단계를 포함한다.
본 발명은 인공 신경망 입력 데이터 변환 방법으로, L(L은 자연수) 차원 어레이(tensor)의 소정 엘리먼트 값에 해당하는 L개의 벡터들을 정규화하는 단계와, 상기 L개의 벡터들을 인공 신경망에 입력하는 단계를 포함한다.
본 발명에 따라, 인공 신경망의 계층 사이에 비선형 함수(Non-linear function : ReLu)를 적용하여 복잡한 모델도 학습할 수 있으며, 배치 정규화(Batch Normalization) 기법을 적용하였기 때문에, 따로 튜닝(tuning)해야 할 필요가 없다.
또한, 기존의 인공 신경망을 이용한 학습 알고리즘에서는 새로운 사용자나 새로운 아이템이 추가되면, 그에 맞춰서 새롭게 학습하여 파라미터(Parameter)를 조정하여야 한다. 하지만, 본 발명은 사용자 벡터(user vector)와 아이템 벡터(item vector)와 같이 벡터를 그대로 입력으로 사용하기 때문에, 사용자나 아이템이 새롭게 추가되더라도 따로 학습해야 할 필요가 없다. 즉, 기존 학습된 모델을 이용하여 레이팅 예측(Rating prediction)을 간단히 할 수 있어, 데이터의 실시간 처리에 적합하다.
도 1은 본 발명의 일 실시 예에 따른 인공 신경망 기반 예측 모델 생성 장치의 구성 블럭도이다.
도 2는 본 발명의 일 실시 예에 따른 입력 데이터 변환부의 상세 블록도이다.
도 3은 본 발명에 따른 협업 필터링 모델 생성을 위한 입력 데이터를 정규화하는 일 예를 설명하기 위한 도면이다.
도 4는 본 발명에 따른 인공 신경망 구성의 일 예를 도시한 도면이다.
도 5는 본 발명의 일 실시 예에 따른 조정부의 상세 블록 구성도이다.
도 6은 본 발명의 일 실시 예에 따른 제어부의 상세 블록 구성도이다.
도 7a는 본 발명에 따른 추가 데이터를 이용한 예측의 일 예를 도시한 도면이다.
도 7a는 본 발명에 따른 추가 데이터를 이용한 학습의 일 예를 도시한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 인공 신경망 기반 예측 모델 생성 방법을 설명하기 위한 순서도이다.
도 9는 본 발명의 일 실시 예에 따른 입력 데이터 변환을 설명하기 위한 순서도이다.
도 10a 및 도 10b는 본 발명의 일 실시 예에 따른 인공 신경망 기반 모델링 방법을 설명하기 위한 순서도이다.
도 11은 본 발명의 일 실시 예에 따른 조정 단계를 설명하기 위한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.
도 1은 본 발명의 일 실시 예에 따른 인공 신경망 기반 예측 모델 생성 장치의 구성 블럭도이다. 이하 설명의 편의를 위해 인공 신경망 기반으로 하는 협업 필터링 모델 생성을 설명하는데, 이는 일 실시 예일 뿐 본 발명은 협업 필터링 모델 생성에 한정되지 않는다. 즉, 후술될 인공 신경망 기반의 예측 모델 생성 기술은 협업 필터링이 아닌 다른 목적의 기술 분야에도 적용될 수 있다.
도 1을 참조하면, 인공 신경망 기반 예측 모델 생성 장치(100)는 입력 데이터 변환부(100), 모델링부(200), 조정부(300) 및 제어부(400)를 포함한다.
먼저, 입력 데이터 변환부(100)는 협업 필터링을 위한 모델 생성을 위한 입력 데이터를 모델링부(200)에 입력시킨다. 이때 입력 데이터는 인공 신경망 기반 예측 모델 생성 장치와 별도로 설치된 데이터베이스(미도시)에 저장되어 있거나 인공 신경망 기반 예측 모델 생성 장치에 포함되어 구비된 저장부(미도시)에 저장되어 있을 수 있다. 또는 인공 신경망 기반 예측 모델 생성 장치는 인터넷을 통해서 원격의 서버로부터 복수의 입력 데이터를 입력받을 수 있다.
본 발명의 일 실시 예에 따라, 입력 데이터 변환부(100)는 L차원 어레이(tensor) 입력 데이터를 정규화된 벡터로 변환하여 모델링부(200)에 입력한다. 예컨대, 사용자들 각각이 아이템들 각각에 대해서 평가한 점수들로 이루어진 어레이의 엘리먼트들 각각을 사용자 벡터(user vector)와 아이템 벡터(item vector)로 변환하여 모델링부(200)에 입력한다. 이때, 각 사용자별로 평가한 아이템의 수가 다르고, 각 아이템들 또한 평가받은 사용자의 수가 모두 다르기 때문에, 이러한 불균형을 보정해주기 위해서 입력 데이터 변환부(100)는 각 사용자의 벡터와, 각 아이템의 벡터를 정규화(Normalizing)한다. 이에 대한 상세한 설명은 도 2 및 도 3을 참조하여 후술하기로 한다.
모델링부(200)는 입력 데이터 변환부(100)를 통해서 정규화된 벡터를 입력받아 인공 신경망 알고리즘을 이용하여 예측 모델을 생성한다. 본 발명의 일 실시 예에 따라, 입력 데이터에 과적합(overfitting)되는 문제를 방지하기 위해서 배치 정규화(Batch Normaliztion) 기법이 사용된다. 즉, 모델링부(200)는 인공 신경망의 입력 계층(input layer), 은닉 계층(hidden layer) 및 출력 계층(output layer)로 구성되는데, 입력 계층과 은닉 계층 사이, 은닉 계층과 은닉 계층 사이, 은닉 계층과 출력 계층 사이에 배치 정규화가 적어도 한번 이상 수행된다. 모델링부(200)에 대한 상세한 설명은 도 4를 참조하여 후술하기로 한다.
조정부(300)는 모델링부(200)에 의해 출력된 출력값과 실제 측정값을 비교하여 오차값을 계산하고, 오차값을 이용하여 역전파(Back Propagation) 알고리즘을 이용하여 모델링부(200)의 학습 파라미터를 조정한다. 이에 해당 상세한 설명은 도 5를 참조하여 후술하기로 한다.
제어부(400)는 학습 데이터가 입력됨에 따라 입력 데이터 변환부(100), 모델링부(200) 및 조정부(300)를 제어하여 예측 모델을 생성하도록 제어하고, 예측 모델 생성이 완료됨에 따라, 입력 데이터 변환부(100) 및 모델링부(200)를 제어하여, 예측 데이터를 출력하도록 제어한다. 또한, 예측 모델이 모델링된 후, 추가 데이터가 입력됨에 따라, 제어부(400)는 입력 데이터 변환부(100) 및 모델링부(200)를 제어하여 예측 데이터를 출력하도록 제어하거나, 입력 데이터 변환부(100), 모델링부(200) 및 조정부(300)를 제어하여 예측 모델을 추가 학습시키도록 제어한다. 이에 대한 상세한 설명은 도 6, 도 7a 및 도 7b를 참조하여 후술하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 입력 데이터 변환부의 상세 블록도이다. 여기서, 입력 데이터 변환부(100)는 인공 신경망 기반 예측 모델 생성 장치의 일부 구성으로 설명되고 있으나, 인공 신경망의 입력 데이터를 처리하기 위한 인공 신경망 입력 데이터 변환 장치로 별도로 구성될 수도 있다.
도 2를 참조하면, 입력 데이터 변환부(100)는 상세하게는 입력 데이터 정규화부(110) 및 정규화 벡터 입력 처리부(120)를 포함한다.
입력 데이터 정규화부(110)는 학습 데이터인 L(여기서, L은 자연수) 차원 어레이(tensor)의 소정 엘리먼트 값에 상응하는 L개의 벡터들을 정규화한다. 이하에서는 설명의 편의를 위해 2차원 어레이의 입력 데이터를 예로 들어 설명하기로 한다. 그러나, 이는 이해를 돕기 위한 것일 뿐, 본 발명은 이에 한정되지 않는다. 즉, 입력 데이터 어레이가 3차원 이상으로 확장될 경우에도 후술될 내용이 적용되는 것을 본 발명의 범위로 포함한다.
우선, 협업 필터링을 위해 사용자들 각각이 아이템들 각각에 대해서 평가한 점수들로 이루어진 학습 데이터를 예를 들어 설명하기로 한다. 여기서, 사용자의 수를 N, 아이템의 수를 M이라고 하면, 각각의 사용자는 아이템 중 일부분에 점수(1,2,...,K) 평가(rating)하고, 다음과 같은 성긴(sparse) 어레이
Figure 112016053049945-pat00001
를 얻을 수 있다. 이러한 NxM 어레이를 구성하는 엘리먼트들을 하기의 <수학식 1>과 같이 정의될 수 있다.
Figure 112016053049945-pat00002
여기서, 협업 필터링은 주어진
Figure 112017091984733-pat00003
값들을 바탕으로 평가되지 않은 점수들을 예측하는 것이다. 또한, 상기 <수학식 1>에 의해 정의되는 사용자-아이템 어레이의 한 사용자가 전체 아이템들 각각에게 부여한 레이팅 점수들의 벡터를 상기 사용자의 사용자 벡터로 명명한다. 즉, 사용자들 각각의 벡터를 사용자 벡터(
Figure 112017091984733-pat00004
)라고 하고, 아이템들 각각의 벡터를 아이템 벡터
Figure 112017091984733-pat00005
라고 한다. 그런데 각각의 사용자들이 평가한 아이템의 수가 다르고, 각각의 아이템들이 평가받은 사용자의 수가 다르다는 불균형이 발생될 수 있다. 따라서, 본 발명의 일 실시 예에 따른 입력 데이터 정규화부(110)는 이러한 사용자 벡터 및 아이템 벡터들
Figure 112017091984733-pat00098
Figure 112017091984733-pat00099
를 다음의 <수학식 2>에 의해 정규화한다.
Figure 112017091984733-pat00100
상기 <수학식 2>에서
Figure 112017091984733-pat00101
은 제로가 아닌 엘리먼트(non-zero element)의 갯수, 즉 레이팅된 갯수를 의미한다. 즉, 벡터의 전체 엘리먼트의 갯수에 벡터의 길이를 제로가 아닌 엘리먼트의 수로 나눈 값을 곱한다. 예컨대, 사용자가 4명, 아이템이 5개인 경우, 후술될 도 3과 같이 정규화한다.
도 3은 본 발명에 따른 협업 필터링 모델 생성을 위한 입력 데이터를 정규화하는 일 예를 설명하기 위한 도면이다.
도 3의 (a)를 참조하면, 사용자 4명이 아이템 5개에 대해 평가한 점수 데이터가 사용자-아이템 (user-item) 어레이가 도시되어 있다. 여기서, 왼쪽의 user1, user2, user 3 및 user 4는 각각 사용자의 식별자를 나타낸다. 상단의 Item 1, Item 2, Item 3, Item 4 및 Item 5는 각각 아이템의 식별자를 나타낸다. 사용자 및 아이템 사이의 숫자는 상기 <수학식 1>에 의해 정의한 바와 같이, 사용자가 아이템에 부여한 레이팅 점수를 나타내고, 사용자 및 아이템 사이의 "-" 기호는 사용자가 아이템에 레이팅을 하지 않았음을 나타낸다.
도 3의 (b) 및 (c)는 각각 사용자 정규화 어레이 및 아이템 정규화 어레이를 도시한다. 예컨대, (a)의 벡터
Figure 112016053049945-pat00010
인 (5, 0, 0, 0, 1)를 <수학식 2>를 사용하여 정규화하면, 엘리먼트의 갯수인 5에서 평가된 엘리먼트의 갯수인 2를 나눈 값 2.5를 곱해서 도 3의 (b)에 도시된 바와 같이 (12.5, 0, 0, 0, 2.5)로 정규화된다. 또한, (a)의 벡터
Figure 112016053049945-pat00011
인 (1, 0, 0, 0)를 <수학식 2>를 사용하여 정규화하면, 엘리먼트의 갯수인 4에서 평가된 엘리먼트의 갯수인 1를 나눈 값 4를 곱해서 도 3의 (c)에 도시된 바와 같이 (4, 0, 0, 0)로 정규화된다.
다시 도 2를 참조하면, 정규화 벡터 입력 처리부(120)는 입력 데이터 정규화부(110)에 의해 정규화된 벡터를 인공 신경망 알고리즘을 사용하는 모델링부(200)에서 인공 신경망의 입력 데이터로 입력시키도록 한다. 예컨대, 도 3의 (a)의 1행 2열인 값에 대해서는 정규화된 사용자 벡터
Figure 112016053049945-pat00012
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00013
인 (4, 0, 0, 0)을 인공 신경망의 입력 노드들에 각각 입력시킨다. 이때, 본 발명의 일 실시 예에 따라, 사용자 벡터
Figure 112016053049945-pat00014
및 아이템 벡터
Figure 112016053049945-pat00015
를 일렬로 연결된 행 벡터의 형태로 입력 노드들에 각각 입력시킨다. 예컨대, 정규화된 사용자 벡터
Figure 112016053049945-pat00016
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00017
인 (4, 0, 0, 0)을 인공 신경망에 입력할 경우, (12.5, 0, 0, 0, 2.5, 4, 0, 0, 0)와 같이
Figure 112016053049945-pat00018
Figure 112016053049945-pat00019
일렬로 연결된 행 벡터가 인공 신경망에 입력될 수 있다.
기존의 알고리즘들은 새로운 유저나 새로운 아이템이 추가되면, 그에 맞춰서 새롭게 학습하여 파라미터(Parameter)를 조정해야 한다. 하지만, 전술한 바와 같이 사용자 벡터(user vector)와 아이템 벡터(item vector)를 그대로 인공 신경망의 입력(input)으로 사용하기 때문에, 유저나 아이템이 새롭게 추가되더라도 따로 학습(Learning)을 해야 할 필요가 없다. 이로써, 기존 학습된 모델(model)을 이용하여 레이팅 예측(Rating prediction)을 간단히 할 수 있으며 따라서 데이터의 실시간 처리에 적합하다. 이에 대해서는 후술될 도 7a 및 7b를 참조하여 좀 더 상세히 살펴보기로 한다.
도 4는 본 발명에 따른 인공 신경망 구성의 일 예를 도시한 도면이다.
도 4를 참조하면, 모델링부(200)에서 사용되는 인공 신경망은 최하위 계층이 입력 계층(input layer)(210)이고, 최상위 계층이 출력 계층(output layer)(230)이며, 그 사이에는 은닉 계층(hidden layer)(220)으로 구성되어, 멀티 계층 구조의 인공 신경망 모형을 모델링할 수 있다. 또한, 은닉 계층(220)은 둘 이상의 멀티 계층으로 설계될 수 있다.
또한, 계층들 각각은 신경 조직의 뉴런에 해당하는 다수의 노드들(211, 221-2, 222-2, 232, 234, 234)과 그들을 연결하는 가중치로 구성되며, 다수의 노드들 각각의 출력과 각 가중치의 곱한 값의 합이 다음 계층에 출력된다. 여기서, 가중치 값은 사용자에 의해서 입력될 수 있고, 인공 신경망 모델링에 대한 기계 학습을 통해서 변경될 수 있다. 그런데 본 발명의 일 실시 예에 따라, 은닉 계층(220) 및 출력 계층(230)의 노드들(221-2, 222-2, 232)은 배치 정규화부(221-1, 222-1, 231)에 의해 처리된 값을 입력으로 받아들인다. 배치 정규화(Batch Normalization)는 각 계층로 입력되는 데이터의 분포를 정규화시키는 기법으로 학습 속도를 향상시키는 동시에 과적합(overfitting)을 방지할 수 있다는 특징이 있다.
우선, 입력 계층(210)에 대해 살펴보면, 정규화된 사용자 벡터의 엘리먼트 및 정규화된 아이템 벡터의 엘리먼트들이 복수의 입력 노드들(211)에 입력된다. 예컨대, 도 3의 (a)의 1행 4열인 값에 대해서는 정규화된 사용자 벡터
Figure 112016053049945-pat00020
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00021
인 (4, 0, 0, 0)이 입력 계층의 입력 노드들(211)에 각각 입력된다. 입력 노드들(211)에 입력된 값들은 각각 소정 가중치가 곱해진 후 은닉 계층(220)으로 입력된다.
은닉 계층(220)에 대해서 살펴보면, 은닉 계층(220)은 노드 층이 하나인 싱글 계층 또는 둘 이상인 멀티 계층으로 이루어질 수 있다. 그런데, 도 4에서는 설명의 편의를 위하여 은닉 계층(220)이 은닉 노드층(221-2, 222-2)이 두 층으로 이루어진 멀티 계층으로 도시되어 있으나, 이는 일 실시 예일 뿐 본 발명은 이에 한정되지 않는다.
여기서, 은닉 계층(220)의 i번째 은닉 계층의 출력을
Figure 112016053049945-pat00022
라고 할 때,
Figure 112016053049945-pat00023
은 하기의 <수학식 3>과 같이 계산된다.
Figure 112016053049945-pat00024
상기 <수학식 3>에서
Figure 112016053049945-pat00025
는 모두 훈련 파라미터(Training Parameter)이다. 그리고, 상기 <수학식 3>이 갖는 의미를 설명하면, 이전 계층에서 출력된 값인
Figure 112016053049945-pat00026
에 가중치인
Figure 112016053049945-pat00027
를 곱한 값들은 도 4에 도시된 배치 정규화부(221-1, 222-1)에 입력된다. 즉, <수학식 3>에서
Figure 112016053049945-pat00028
는 배치 정규화를 의미하는 것으로, 이는 다음과 같은 <수학식 4> 내지 <수학식 7>를 순차적으로 연산하는 것으로 정의될 수 있다.
Figure 112016053049945-pat00029
Figure 112016053049945-pat00030
Figure 112016053049945-pat00031
Figure 112016053049945-pat00032
즉, 배치 정규화부(221-1, 222-1)는 <수학식 4>과 같이 입력값들의 미니 배치 평균(mini-batch mean)(
Figure 112016053049945-pat00033
)을 산출한 후, <수학식 5>와 같이 산출된 평균(
Figure 112016053049945-pat00034
)을 이용해 입력값들의 미니 배치 분산(mini-batch variance)
Figure 112016053049945-pat00035
을 계산하고, <수학식 6>과 같이 산출된 분산값
Figure 112016053049945-pat00036
을 이용해 정규화(normalize)된 값(
Figure 112016053049945-pat00037
)을 구하고, <수학식 7>과 같이 정규화된 값(
Figure 112016053049945-pat00038
)을
Figure 112016053049945-pat00039
로 스케일(scale) 및
Figure 112016053049945-pat00040
만큼 쉬프트(shift)하여 최종적으로, 배치 정규화된 값
Figure 112016053049945-pat00041
를 산출한다. 이러한 배치 정규화(Batch Normalization) 기법을 적용하였기 때문에 과적합 문제를 해결하기 위해 결과값을 별도로 튜닝(tuning)해야 할 필요가 없다.
그런 후, 배치 정규화된 값은 은닉 노드들(221-2, 222-2)에 입력되고, 노드들(222-1, 222-2) 각각은 자체로 활성화함수(Actuation function) 또는 판단함수(logistic function)를 수행한다. 일 실시 예에 따라 하기의 <수학식 8>과 같이 정의되는 비선형 함수(Non-linear function: ReLu)가 사용될 수 있다. 이러한 비선형 함수를 사용하여 복잡한 모델도 학습할 수 있다. 그러나 이는 본 발명의 일 실시 예일 뿐, 본 발명은 이에 한정되지 않는다. 즉, 다른 활성 함수가 사용될 수도 있다.
Figure 112016053049945-pat00042
전술한 바와 같이 은닉 노드들(221-2, 222-2)의 활성 함수에 의해 계산된 값들은 각각 다시 가중치가 곱해진 후, 다음 계층으로 입력된다.
다음으로, 출력 계층(230)을 살펴보면, 은닉 계층(220)에서와 동일하게 배치 정규화부(Batch normalization)(231)가 적용되어 은닉 계층(220)으로부터 출력된 값은 배치 정규화된 값으로 변환되어 복수의 제1 출력 노드(232)에 입력되고, 다시 제1 출력 노드(232)의 값들은 소프트맥스 함수(Softmax function)을 사용하여 각 레이팅(Rating)별 확률을 구하는 확률 산출부(233)에 의해 계산되어 복수의 제2 출력 노드들(234)에 입력된다. 이러한 출력 계층(230)의 동작은 하기의 <수학식 9>와 같이 정의될 수 있다.
Figure 112016053049945-pat00043
상기 <수학식 9>에서 소프트맥스 함수(Softmax function)는 다음의 <수학식 10>과 같이 정의될 수 있다.
Figure 112016053049945-pat00044
제2 출력 노드들(234)에 할당된 데이터들은 하기의 <수학식 11>과 같이 출력 가중치(k)를 적용한 뒤, 이들을 산술적으로 합하여 산출한 값(
Figure 112016053049945-pat00045
) 을 산출한다.
Figure 112016053049945-pat00046
도 5는 본 발명의 일 실시 예에 따른 조정부의 상세 블록 구성도이다.
도 5를 참조하면, 조정부(300)는 상세하게는 오차 계산부(310) 및 훈련 파라미터 역 조정부(320)을 포함한다.
오차 계산부(310)는 모델링부(200)에서 산출된 값(
Figure 112016053049945-pat00047
)과 실제 측정값 또는 목표값(
Figure 112016053049945-pat00048
)을 하기의 <수학식 12>와 같은 MSE(Mean Square Error)를 사용하는 손실 함수(Loss function) 또는 비용 함수(Cost Fuction)에 대입하여 오차를 구한다.
Figure 112016053049945-pat00049
예컨대, 도 3의 (a)의 1행 4열인 값 ‘1’에 대해서는 정규화된 사용자 벡터
Figure 112016053049945-pat00050
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00051
인 (4, 0, 0, 0)을 인공 신경망의 입력 노드들에 입력되어 출력된 값이
Figure 112016053049945-pat00052
라면,
Figure 112016053049945-pat00053
에 해당하는 값은 ‘1’이 될 수 있다.
훈련 파라미터 역방향 조정부(320)는 모델링부(200)에 의해 학습된 훈련 파라미터(Training Parameter)인
Figure 112016053049945-pat00054
를 비용함수(cost function)를 최소화하는 방향으로, 역전파(Backpropagation) 알고리즘을 통해서 다시 학습시키게 된다. 여기서, 역전파 알고리즘은 인공 신경망 모형을 이용한 예측의 신뢰성을 향상시키기 위해서 복수의 노드에 적용되는 가중치 및 각 계층별로 기 정의된 바이어스 값을 추정하기 위한 기계적 학습 과정을 의미한다. 도 6은 본 발명의 일 실시 예에 따른 제어부의 상세 블록 구성도이다.
도 6을 참조하면, 제어부(400)는 상세하게는 학습 요청 처리부(410) 및 예측 요청 처리부(420)를 포함한다. 부가적으로, 추가 데이터 처리부(430)를 더 포함할 수 있다.
학습 요청 처리부(410)는 학습 데이터가 입력됨에 따라, 입력 데이터 변환부(100), 모델링부(200) 및 조정부(300)를 제어하여 모델 생성 프로세스가 실행되도록 제어한다. 예컨대, 입력 데이터 변환부(100)가 학습 데이터 중 레이팅된 데이터에 해당하는 정규화된 벡터 데이터를 모델링부(200)에 입력하도록 제어하고, 모델링부(200)는 조정부(300)와 연동하여 입력된 벡터 데이터를 학습하도록 제어한다. 모델 생성 프로세스가 모두 종료되면, 모델링부(200)에는 예측 모델이 생성된다.
예측 요청 처리부(420)는 예측 모델이 생성됨에 따라, 입력 데이터 변환부(100) 및 모델링부(200)를 제어하여 예측 프로세스가 실행되도록 제어한다. 예컨대, 도 3의 (a)에서 레이팅되지 않은 1행 2열의 값을 예측하기 위해, 입력 데이터 변환부(100)에 의해 정규화된 정규화된 사용자 벡터
Figure 112016053049945-pat00055
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00056
인 (0, 6, 0, 2)를 모델링부(200)에 입력하도록 제어하고, 모델링부(200)에서는 예측값을 출력한다.
추가 데이터 처리부(430)는 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성한 후, 추가 데이터를 이용한 예측이 수행되도록 학습 요청 처리부(410)를 제어한다. 즉. 학습 요청 처리부(410)는 확장된 L차원 어레이에서 예측하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 예측값을 출력하도록 입력 데이터 변환부(100) 및 모델링부(200)를 제어한다. 이때, 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일하다.
또한, 추가 데이터 처리부(430)는 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성한 후, 추가 데이터를 이용한 학습이 수행되도록 학습 요청 처리부(410)를 제어한다. 즉. 학습 요청 처리부(410)는 확장된 L차원 어레이에서 학습하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 예측값을 출력하도록 입력 데이터 변환부(100) 및 모델링부(200)를 제어한다. 이때, 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일하다.
추가 데이터 처리부(430)는 추가 데이터가 입력됨에 따라, 학습 및 예측을 순차적으로 수행하도록 학습 요청 처리부(410) 및 예측 요청 처리부(420)를 제어할 수 있는데, 각각의 동작은 전술한 바와 같다.
그러면, 추가 데이터를 이용한 예측 및 학습에 대해 하기의 도 7a 및 도 7b를 참조하여 살펴보기로 한다.
도 7a는 본 발명에 따른 추가 데이터를 이용한 예측의 일 예를 도시한 도면이다.
도 7a를 참조하면, 음영 표시된 데이터들은 전술한 바와 같은 방식으로 모델을 훈련하기 위해 초기에 사용된 입력 데이터이고, 나머지 부분은 유저나 아이템이 새롭게 추가된 데이터이다. 이때, 전술한 바와 같이 유저나 아이템이 새롭게 추가되더라도 따로 학습(Learning)을 해야 할 필요가 없이, 음영 표시된 데이터들에 의해 학습된 모델(model)을 이용하여 추가된 데이터에 대한 레이팅 예측을 할 수 있다. 즉, 만약 (U7, I6)에 해당하는 레이팅값(710)을 예측하고자 하는 경우, 음영 표시된 데이터와 동일한 크기의 사용자 벡터 및 아이템 벡터를 훈련된 예측 모델에 입력한다. 즉, 사용자 벡터
Figure 112016053049945-pat00057
인 (3, 0, 5, 0)와 아이템 벡터
Figure 112016053049945-pat00058
인 (2, 0, 5, 0)을 정규화한 후, 정규화된 두 벡터들 (6, 0, 10, 0) 및 (4, 0, 10, 0)을 일렬로 연결된 행 벡터인 (6, 0, 10, 0, 4, 0, 10, 0)을 훈련된 인공 신경망 모델에 입력하여 (U7, I6)에 상응하는 예측값을 찾아낼 수 있다.
도 7b는 본 발명에 따른 추가 데이터를 이용한 학습의 일 예를 도시한 도면이다.
도 7b를 참조하면, 음영 표시된 데이터들은 전술한 바와 같은 방식으로 예측 모델을 훈련하기 위해 초기에 사용된 입력 데이터이고, 나머지 부분은 유저나 아이템이 새롭게 추가된 데이터이이다. 그런데 새롭게 추가된 사용자 및 아이템이 데이터만을 학습(Learning)하여 음영 표시된 데이터들에 의해 학습된 모델(model)을 추가적으로 학습시킬 수 있다. 즉, '0'이라고 표시되지 않은 나머지 레이팅 부분의 데이터들을 이용해 모델을 학습하게 된다. 이때, (U5, I3)에 해당하는 레이팅값으로 모델을 학습시키고자 할 경우, 초기의 입력 데이터와 동일한 크기의 사용자 벡터 및 아이템 벡터를 학습된 예측 모델에 입력한다. 즉, 사용자 벡터
Figure 112016053049945-pat00059
인 (3, 0, 5, 0)와 아이템 벡터
Figure 112016053049945-pat00060
인 (5, 0, 1, 0)을 정규화한 후, 정규화된 두 벡터들 (6, 0, 10, 0) 및 (10, 0, 2, 0)을 일렬로 연결된 행 벡터인 (6, 0, 10, 0, 10, 0, 2, 0)을 인공 신경망에 입력하여 예측 모델이 추가 데이터를 학습하도록 할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 인공 신경망 기반 예측 모델 생성 방법을 설명하기 위한 순서도이다.
도 8을 참조하면, 인공 신경망 기반 예측 모델 생성 장치(이하 '장치'라 기재함)는 어레이 입력 데이터를 정규화된 벡터로 변환하여 인공 신경망에 입력한다(S810). 예컨대, 사용자들 각각이 아이템들 각각에 대해서 평가한 점수들로 이루어진 어레이의 엘리먼트들 각각을 사용자 벡터(user vector)와 아이템 벡터(item vector)로 변환하여 인공 신경망에 입력한다. 이때, 각 사용자별로 평가한 아이템의 수가 다르고, 각 아이템들 또한 평가받은 사용자의 수가 모두 다르기 때문에, 이러한 불균형을 보정해주기 위해서 각 사용자의 벡터와, 각 아이템의 벡터를 정규화(Normalizing)한다. 이에 대한 상세한 설명은 도 9를 참조하여 후술하기로 한다. 다음으로, 장치는 정규화된 벡터를 입력받아 인공 신경망 알고리즘을 이용하여 예측 모델을 생성한다(S820). 본 발명의 일 실시 예에 따라, 입력 데이터에 과적합(overfitting)되는 문제를 방지하기 위해서 배치 정규화(Batch Normaliztion) 기법이 사용된다. 즉, 인공 신경망은 입력 계층(input layer), 은닉 계층(hidden layer) 및 출력 계층(output layer)로 구성되는데, 입력 계층과 은닉 계층 사이, 은닉 계층과 은닉 계층 사이, 은닉 계층과 출력 계층 사이에 배치 정규화가 적어도 한번 이상 수행된다. 이에 대한 상세한 설명은 도 10을 참조하여 후술하기로 한다.
마지막으로, 장치는 인공 신경망에 의해 출력된 출력값과 실제 측정값을 비교하여 오차값을 계산하고, 오차값을 이용하여 역전파(Back Propagation) 알고리즘을 이용하여 모델링부(200)의 학습 파라미터를 조정한다(S830).
전술한 바와 같은 예측 모델 생성 프로세스가 모두 종료(S840)되면, 장치는 생성된 예측 모델을 출력한다(S850). 도면에는 도시되어 있지 않지만, 생성된 예측 모델을 통해 소정 입력값에 대한 출력값을 예측할 수 있다. 예컨대. 도 3의 (a)에서 레이팅되지 않은 1행 2열의 값을 예측하기 위해, 정규화된 정규화된 사용자 벡터
Figure 112016053049945-pat00061
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00062
인 (0, 6, 0, 2)를 인공 신경망 기반 모델에 입력 입력하면 예측값이 출력될 수 있다.
도 9는 본 발명의 일 실시 예에 따른 입력 데이터 변환을 설명하기 위한 순서도이다. 여기서, 입력 데이터 변환 단계(S820)는 인공 신경망 기반 예측 모델 생성 방법의 일부 구성으로 설명되고 있으나, 인공 신경망의 입력 데이터를 처리하기 위한 별도의 인공 신경망 입력 데이터 변환 방법으로 구성될 수도 있다.
도 9를 참조하면, 장치는 학습 데이터인 L(여기서 L은 1 이상의 정수) 차원 어레이의 소정 엘리먼트 값에 상응하는 L개의 벡터들을 정규화한다(S910). 예컨대, 도 3의 (a)에 도시된 바와 같은 2차원 행렬의 2개의 벡터들
Figure 112016053049945-pat00063
Figure 112016053049945-pat00064
를 상기의 <수학식 2>에 의해 정규화한다. 즉, 벡터의 전체 엘리먼트의 갯수에 벡터의 길이를 제로가 아닌 엘리먼트의 수로 나눈 값을 곱한다.
그런 후, 장치는 정규화된 L개의 벡터들 각각의 엘리먼트들을 인공 신경망의 입력 데이터로 입력시킨다(S920). 예컨대, 도 3의 (a)의 1행 2열인 값에 대해서는 정규화된 사용자 벡터
Figure 112016053049945-pat00065
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00066
인 (4, 0, 0, 0)을 인공 신경망의 입력 노드들에 각각 입력시킨다. 이때, 본 발명의 일 실시 예에 따라, 사용자 벡터
Figure 112016053049945-pat00067
및 아이템 벡터
Figure 112016053049945-pat00068
를 일렬로 연결된 행 벡터의 형태로 입력 노드들에 각각 입력시킨다. 예컨대, 정규화된 사용자 벡터
Figure 112016053049945-pat00069
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00070
인 (4, 0, 0, 0)을 인공 신경망에 입력할 경우, (12.5, 0, 0, 0, 2.5, 4, 0, 0, 0)와 같이
Figure 112016053049945-pat00071
Figure 112016053049945-pat00072
일렬로 연결된 행 벡터가 인공 신경망에 입력될 수 있다. 기존의 알고리즘들은 새로운 유저나 새로운 아이템이 추가되면, 그에 맞춰서 새롭게 학습하여 파라미터(Parameter)를 조정해야 한다. 하지만, 전술한 바와 같이 사용자 벡터(user vector)와 아이템 벡터(item vector)를 그대로 인공 신경망의 입력(input)으로 사용하기 때문에, 유저나 아이템이 새롭게 추가되더라도 따로 학습(Learning)을 해야 할 필요가 없다. 이로써, 기존 학습된 모델(model)을 이용하여 레이팅 예측(Rating prediction)을 간단히 할 수 있으며 따라서 데이터의 실시간 처리에 적합하다. 도 10a 및 도 10b는 본 발명의 일 실시 예에 따른 인공 신경망 기반 모델링 방법을 설명하기 위한 순서도이다.
도 10a를 참조하면, 장치는 정규화된 벡터들의 엘리먼트들을 복수의 입력 노드들에 할당한다(S1010). 예컨대, 도 3의 (a)의 1행 4열인 값에 대해서는 정규화된 사용자 벡터
Figure 112016053049945-pat00073
인 (12.5, 0, 0, 0, 2.5)와 정규화된 아이템 벡터
Figure 112016053049945-pat00074
인 (4, 0, 0, 0)이 입력된다. 그런 후, 장치는 입력된 값들 각각에 소정 가중치를 적용한다(S1020).
그런 후, 장치는 소정 가중치가 적용된 결과값들을 배치 정규화한다(S1030). 상세하게는 도 8b를 참조하면, <수학식 4>과 같이 입력값들의 미니 배치 평균(mini-batch mean)(
Figure 112016053049945-pat00075
)을 산출(S1031)한 후, <수학식 5>와 같이 산출된 평균(
Figure 112016053049945-pat00076
)을 이용해 입력값들의 미니 배치 분산(mini-batch variance)
Figure 112016053049945-pat00077
을 계산(S1032)하고, <수학식 6>과 같이 산출된 분산
Figure 112016053049945-pat00078
을 이용해 정규화(normalize)(S1033)된 값(
Figure 112016053049945-pat00079
)을 구하고, <수학식 7>과 같이 정규화된 값(
Figure 112016053049945-pat00080
)을
Figure 112016053049945-pat00081
로 스케일(scale) 및
Figure 112016053049945-pat00082
만큼 쉬프트(shift)하여 최종적으로, 배치 정규화된 값
Figure 112016053049945-pat00083
를 산출(S1034)한다. 이러한 배치 정규화(Batch Normalization) 기법을 적용하였기 때문에 과적합 문제를 해결하기 위해 결과값을 별도로 튜닝(tuning)해야 할 필요가 없다.
그런 후, 장치는 배치 정규화된 값들 각각에 활성화함수(Actuation function) 또는 판단함수(logistic function)를 적용한다(S1040). 일 실시 예에 따라 상기의 <수학식 8>과 같이 정의되는 비선형 함수(Non-linear function: ReLu)가 사용될 수 있다. 이러한 비선형 함수를 사용하여 복잡한 모델도 학습할 수 있다.
장치는 활성 함수에 의해 계산된 값들은 각각 다시 가중치가 적용된 후, 다음 계층으로 입력된다(S1060).
장치는 다음 계층이 은닉 노드인지를 판단(S1070)하여, 은닉 노드일 경우, S1030으로 진행하고, 아닐 경우 S1070 단계로 진행한다.
장치는 S1030에서와 동일하게 출력된 값을 배치 정규화된 값으로 변환(S1070)한다. 그런 후, 변환된 값들에서 소프트맥스 함수(Softmax function)을 사용하여 각 레이팅(Rating)별 확률을 산출한다(S1080). 그리고 장치는 다시 상기의 <수학식 11>과 같이 출력 가중치(k)를 적용한 뒤, 이들을 산술적으로 합한 값을 산출한다(S1090).
도 11은 본 발명의 일 실시 예에 따른 조정 단계를 설명하기 위한 순서도이다.
도 11을 참조하면, 장치는 인공 신경망에서 산출된 값과 실제 측정값 또는 목표값을 상기의 <수학식 12>와 같은 MSE(Mean Square Error)를 사용하는 손실 함수(Loss function) 또는 비용 함수(Cost Fuction)에 대입하여 오차를 구한다(S1110).
그런 후, 장치는 인공 신경망에 의해 학습된 훈련 파라미터(Training Parameter)인
Figure 112016053049945-pat00084
를 비용함수(cost function)를 최소화하는 방향으로, 역전파(Backpropagation) 알고리즘을 통해서 다시 학습시키게 된다(S1120). 여기서, 역전파 알고리즘은 인공 신경망 모형을 이용한 예측의 신뢰성을 향상시키기 위해서 복수의 노드에 적용되는 가중치 및 각 계층별로 기 정의된 바이어스 값을 추정하기 위한 기계적 학습 과정을 의미한다.
또한, 도면에는 도시되어 있지 않지만, 장치는 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, L차원 어레이에서 예측하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 예측값을 출력하도록 변환, 예측을 재수행하도록 제어할 수 있다. 이때, 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일하다.
또한, 도면에는 도시되어 있지 않지만, 장치는 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, 상기 L차원 어레이에서 학습하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 상기 예측 모델을 추가 학습하도록 변환, 모델링 및 조정을 재수행하도록 제어하고, 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일하다.

Claims (26)

  1. 삭제
  2. 삭제
  3. L(L은 자연수)차원 어레이(tensor)의 엘리먼트들 각각을 L개의 정규화된벡터 데이터들로 변환하여 모델링부의 인공 신경망에 입력하는 입력 데이터 변환부와,
    상기 입력된 벡터 데이터를 학습하기 위한 인공 신경망 기반의 예측 모델을 모델링하고, 모델링을 통한 예측값을 출력하는 모델링부와,
    상기 모델링부에 의한 예측값과 실제 측정값을 비교하여 오차값을 계산하고, 오차값을 이용하여 역전파(Back Propagation) 알고리즘을 이용하여 상기 인공 신경망의 학습 파라미터를 조정하는 조정부를 포함하고,
    상기 입력 데이터 변환부는
    상기 L(L은 자연수) 차원 어레이의 소정 엘리먼트 값에 해당하는 L개의 벡터들을 정규화하는 입력 데이터 정규화부와,
    상기 L개의 벡터들을 상기 인공 신경망에 입력하는 정규화 벡터 입력 처리부를 포함하고,
    상기 입력 데이터 정규화부는
    상기 L개의 벡터들 각각의 엘리먼트의 갯수를 엘리먼트 값이 제로가 아닌 엘리먼트의 갯수로 나눈 값을 L개의 벡터들 각각의 엘리먼트들 각각에 곱함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  4. 제3 항에 있어서, 상기 정규화 벡터 입력 처리부는
    상기 L개의 벡터들을 일렬로 연결한 행 벡터 형태로 상기 인공 신경망에 입력함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  5. 제3 항에 있어서, 상기 모델링부는
    상기 인공 신경망의 입력 계층과 은닉 계층 사이, 은닉 계층과 은닉 계층 사이, 은닉 계층과 출력 계층 사이에서 데이터의 분포를 정규화시키는 배치 정규화가 적어도 한번 이상 수행되도록 함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  6. 제 5항에 있어서, 상기 모델링부는
    입력값들의 평균을 산출한 후, 상기 평균을 이용해 상기 입력값들의 분산값을 계산하고, 상기 분산값을 이용해 정규화된 값을 구하고, 상기 정규화된 값을 스케일(scale) 및 쉬프트(shift)하여 배치 정규화된 값을 산출함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  7. 제 5항에 있어서, 상기 모델링부는
    상기 은닉 계층에서 상기 배치 정규화된 값에 비선형 함수를 적용함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  8. 제5 항에 있어서, 상기 모델링부는
    상기 출력 계층에서 상기 배치 정규화되어 출력된 값들에 소프트맥스 함수(Softmax function)를 적용하여 레이팅별 확률을 산출하고, 가중치를 적용한 뒤, 합산하여 상기 예측값을 출력함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  9. 제3 항에 있어서,
    상기 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, 상기 L차원 어레이에서 예측하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 예측값을 출력하도록 상기 입력 데이터 변환부 및 상기 모델링부를 제어하는 제어부를 더 포함하되,
    상기 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  10. 제3 항에 있어서,
    상기 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, 상기 L차원 어레이에서 학습하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 상기 예측 모델을 추가 학습하도록 상기 입력 데이터 변환부, 상기 모델링부 및 상기 조정부를 제어하는 제어부를 더 포함하되,
    상기 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 장치.
  11. 삭제
  12. L(L은 자연수) 차원 어레이(tensor)에 포함되는 엘리먼트들 중 소정 엘리먼트 값에 해당하는 L개의 벡터들을 정규화하는 입력 데이터 정규화부와,
    상기 L개의 벡터들을 인공 신경망에 입력하는 정규화 벡터 입력 처리부를 포함하고,
    상기 입력 데이터 정규화부는
    상기 L개의 벡터들 각각의 엘리먼트의 갯수를 엘리먼트 값이 제로가 아닌 엘리먼트의 갯수로 나눈 값을 L개의 벡터들 각각의 엘리먼트들 각각에 곱함을 특징으로 하는 인공 신경망 입력 데이터 변환 장치.
  13. 제12 항에 있어서, 상기 정규화 벡터 입력 처리부는
    상기 L개의 벡터들을 일렬로 연결한 행 벡터 형태로 상기 인공 신경망에 입력함을 특징으로 하는 인공 신경망 입력 데이터 변환 장치.
  14. 삭제
  15. 삭제
  16. 인공 신경망 기반 예측 모델 생성 장치의 입력 데이터 변환부에 의해 수행되는 L(L은 자연수)차원 어레이(tensor)의 엘리먼트들 각각을 L개의 정규화된 벡터 데이터들로 변환하여 모델링부의 인공 신경망에 입력하는 단계와,
    인공 신경망 기반 예측 모델 생성 장치의 모델링부에 의해 수행되는 상기 입력된 벡터 데이터를 학습하기 위한 인공 신경망 기반의 예측 모델을 모델링하고, 모델링을 통한 예측값을 출력하는 단계와,
    인공 신경망 기반 예측 모델 생성 장치의 조정부에 의해 수행되는 상기 모델링부에 의한 예측값과 실제 측정값을 비교하여 오차값을 계산하고, 오차값을 이용하여 역전파(Back Propagation) 알고리즘을 이용하여 상기 인공 신경망의 학습 파라미터를 조정하는 단계를 포함하고,
    상기 변환하여 모델링부의 인공 신경망에 입력하는 단계는
    상기 L(L은 자연수) 차원 어레이의 소정 엘리먼트 값에 해당하는 L개의 벡터들을 정규화하는 단계와,
    상기 L개의 벡터들을 상기 인공 신경망에 입력하는 단계를 포함하고,
    상기 정규화하는 단계는
    상기 L개의 벡터들 각각의 엘리먼트의 갯수를 엘리먼트 값이 제로가 아닌 엘리먼트의 갯수로 나눈 값을 L개의 벡터들 각각의 엘리먼트들 각각에 곱함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  17. 제16 항에 있어서, 상기 L개의 벡터들을 상기 인공 신경망에 입력하는 단계는 상기 L개의 벡터들을 일렬로 연결한 행 벡터 형태로 상기 인공 신경망에 입력함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  18. 제16 항에 있어서, 상기 출력하는 단계는
    상기 인공 신경망의 입력 계층과 은닉 계층 사이, 은닉 계층과 은닉 계층 사이, 은닉 계층과 출력 계층 사이에서 적어도 한번 데이터의 분포를 배치 정규화시키는 단계를 포함함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  19. 제 18항에 있어서, 상기 출력하는 단계는
    입력값들의 평균을 산출하는 단계와,
    상기 평균을 이용해 상기 입력값들의 분산값을 계산하는 단계와,
    상기 분산값을 이용해 정규화된 값을 산출하는 단계와,
    상기 정규화된 값을 스케일(scale) 및 쉬프트(shift)하여 배치 정규화된 값을 산출하는 단계를 포함함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  20. 제 18항에 있어서, 상기 출력하는 단계는
    상기 은닉 계층에서 상기 배치 정규화된 값에 비선형 함수를 적용함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  21. 제18 항에 있어서, 상기 출력하는 단계는
    상기 출력 계층에서 상기 배치 정규화되어 출력된 값들에 소프트맥스 함수(Softmax function)를 적용하여 레이팅별 확률을 산출하는 단계와,
    가중치를 적용한 뒤, 합산하여 상기 예측값을 출력하는 단계를 포함함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  22. 제16 항에 있어서,
    상기 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, 상기 L차원 어레이에서 예측하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 예측값을 출력하도록 상기 변환하는 단계 및 상기 출력하는 단계를 재수행하도록 제어하는 단계를 더 포함하되,
    상기 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  23. 제16 항에 있어서,
    상기 인공 신경망 기반의 예측 모델이 모델링 된 후, 추가 데이터가 입력됨에 따라, 상기 입력 데이터에 상기 추가 데이터를 확장시킨 L(L은 자연수) 차원 어레이를 생성하고, 상기 L차원 어레이에서 학습하고자 하는 추가 데이터에 포함되는 엘리먼트 값에 해당하는 L개의 벡터들로 상기 예측 모델을 추가 학습하도록 상기 변환하는 단계, 상기 출력하는 단계 및 상기 조정하는 단계를 재수행하도록 제어하는 단계를 더 포함하되,
    상기 추가 데이터에 해당하는 L개의 벡터들의 크기는 상기 입력 데이터에 해당하는 L개의 벡터들의 크기와 동일함을 특징으로 하는 인공 신경망 기반 예측 모델 생성 방법.
  24. 삭제
  25. 인공 신경망 입력 데이터 변환 장치의 입력 데이터 정규화부에 의해 수행되는 L(L은 자연수) 차원 어레이(tensor)에 포함되는 엘리먼트들 중 소정 엘리먼트 값에 해당하는 L개의 벡터들을 정규화하는 단계와,
    인공 신경망 입력 데이터 변환 장치의 정규화 벡터 입력 처리부에 의해 수행되는 상기 L개의 벡터들을 인공 신경망에 입력하는 단계를 포함하고,
    상기 정규화하는 단계는
    상기 L개의 벡터들 각각의 엘리먼트의 갯수를 엘리먼트 값이 제로가 아닌 엘리먼트의 갯수로 나눈 값을 L개의 벡터들 각각의 엘리먼트들 각각에 곱함을 특징으로 하는 인공 신경망 입력 데이터 변환 방법.
  26. 제25 항에 있어서, 상기 인공 신경망에 입력하는 단계는
    상기 L개의 벡터들을 일렬로 연결한 행 벡터 형태로 상기 인공 신경망에 입력함을 특징으로 하는 인공 신경망 입력 데이터 변환 방법.
KR1020160068326A 2016-06-01 2016-06-01 인공 신경망 기반 예측 모델 생성 장치 및 방법 KR101899101B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160068326A KR101899101B1 (ko) 2016-06-01 2016-06-01 인공 신경망 기반 예측 모델 생성 장치 및 방법
US15/609,593 US11250308B2 (en) 2016-06-01 2017-05-31 Apparatus and method for generating prediction model based on artificial neural network
PCT/KR2017/005753 WO2017209548A1 (ko) 2016-06-01 2017-06-01 인공 신경망 기반 예측 모델 생성 장치 및 방법
EP17807041.3A EP3467724A4 (en) 2016-06-01 2017-06-01 DEVICE AND METHOD FOR PRODUCING AN ARTIFICIAL NEURONAL NETWORK-BASED PREDICTION MODEL

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160068326A KR101899101B1 (ko) 2016-06-01 2016-06-01 인공 신경망 기반 예측 모델 생성 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170136357A KR20170136357A (ko) 2017-12-11
KR101899101B1 true KR101899101B1 (ko) 2018-09-14

Family

ID=60478632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160068326A KR101899101B1 (ko) 2016-06-01 2016-06-01 인공 신경망 기반 예측 모델 생성 장치 및 방법

Country Status (4)

Country Link
US (1) US11250308B2 (ko)
EP (1) EP3467724A4 (ko)
KR (1) KR101899101B1 (ko)
WO (1) WO2017209548A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210146000A (ko) 2020-05-26 2021-12-03 주식회사 다날 인공지능 기반의 신용등급 변동 예측 처리 장치 및 그 동작 방법
KR20210150803A (ko) * 2020-06-04 2021-12-13 주식회사 나인스 인공지능 기반의 할인쿠폰 액면가 추천을 위한 전자 시스템 장치 및 그 동작 방법
KR102598101B1 (ko) 2022-06-27 2023-11-02 경북대학교 산학협력단 딥 뉴럴 네트워크 기반 실시간 중환자실 환자 상태 분석 시스템 및 방법

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706327B2 (en) * 2016-08-03 2020-07-07 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US10366233B1 (en) * 2016-11-18 2019-07-30 Symantec Corporation Systems and methods for trichotomous malware classification
JP6933367B2 (ja) * 2017-09-20 2021-09-08 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、システム、処理方法および実行プログラム
US11003774B2 (en) 2018-01-26 2021-05-11 Sophos Limited Methods and apparatus for detection of malicious documents using machine learning
US11941491B2 (en) 2018-01-31 2024-03-26 Sophos Limited Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content
US11537870B1 (en) * 2018-02-07 2022-12-27 Perceive Corporation Training sparse networks with discrete weight values
CN108428243B (zh) * 2018-03-07 2022-02-11 北京航空航天大学 一种基于人工神经网络的行人运动速度预测方法
KR102192461B1 (ko) * 2018-03-16 2020-12-17 주식회사 에이아이트릭스 불확정성을 모델링할 수 있는 뉴럴네트워크 학습 장치 및 방법
CN108564167B (zh) * 2018-04-09 2020-07-31 杭州乾圆科技有限公司 一种数据集之中异常数据的识别方法
KR102032146B1 (ko) * 2018-04-11 2019-10-15 경희대학교 산학협력단 소자 결점을 보완하기 위한 구간 선형 정류 유닛을 사용하는 인공신경망 시스템
CN110491453A (zh) * 2018-04-27 2019-11-22 上海交通大学 一种化学反应的产率预测方法
TWI767122B (zh) * 2018-05-25 2022-06-11 宏達國際電子股份有限公司 模型建構方法、系統及非揮發性電腦可讀取記錄媒體
KR102079380B1 (ko) * 2018-05-30 2020-02-19 계명대학교 산학협력단 시간적 및 공간적 정규화를 통한 딥 러닝 기반의 실시간 3차원 제스처 인식 시스템 및 방법
KR102137825B1 (ko) * 2018-06-29 2020-07-24 서울대학교 산학협력단 딥러닝 기반 레이더 간섭 제거 장치
KR102183305B1 (ko) * 2018-08-03 2020-11-26 국민대학교산학협력단 신경망 피처 벡터 결정 장치 및 방법
KR102187701B1 (ko) * 2018-08-16 2020-12-07 한국과학기술원 백내장 진단을 위한 토너먼트 기반의 랭킹 컨볼루셔널 뉴럴 네트워크
CN109359737B (zh) * 2018-09-04 2022-04-19 华北水利水电大学 再生骨料透水混凝土bp神经网络预测分析方法
CN109284866B (zh) * 2018-09-06 2021-01-29 安吉汽车物流股份有限公司 商品订单预测方法及装置、存储介质、终端
US11947668B2 (en) * 2018-10-12 2024-04-02 Sophos Limited Methods and apparatus for preserving information between layers within a neural network
KR102062872B1 (ko) * 2018-11-13 2020-01-07 (주)화승엑스윌 인공지능형 공압식 방충재의 관리 시스템
CN116132667A (zh) 2018-11-26 2023-05-16 华为技术有限公司 对图像中的块进行帧内预测的方法,编码设备,解码设备和计算机可读介质
CN109582657A (zh) * 2018-11-28 2019-04-05 国家电网有限公司 基于机器学习与大数据分析的电容器故障预测方法
US12045725B1 (en) 2018-12-05 2024-07-23 Perceive Corporation Batch normalization for replicated layers of neural network
US11847567B1 (en) 2018-12-05 2023-12-19 Perceive Corporation Loss-aware replication of neural network layers
KR102190100B1 (ko) * 2018-12-27 2020-12-11 (주)아크릴 인공 신경망 학습 방법
KR102190103B1 (ko) * 2018-12-27 2020-12-11 (주)아크릴 인공 신경망의 상용화 서비스 제공 방법
CN111079891A (zh) * 2019-01-18 2020-04-28 兰州理工大学 一种基于双隐含层bp神经网络的离心泵性能预测方法
US10325185B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same
CN110059858A (zh) * 2019-03-15 2019-07-26 深圳壹账通智能科技有限公司 服务器资源预测方法、装置、计算机设备及存储介质
KR102097415B1 (ko) * 2019-04-02 2020-04-06 이정훈 서비스 통신 규약 및 통신 패턴을 이용한 인공지능 방화벽 학습 방법 및 학습 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치
CN111914984B (zh) * 2019-05-07 2023-10-27 财团法人成大研究发展基金会 用于辨识装置的人工神经网络正规化系统
CN110598852A (zh) * 2019-08-29 2019-12-20 北京小米移动软件有限公司 子网络采样方法、构建超网络拓扑结构的方法及装置
KR102118088B1 (ko) * 2019-08-29 2020-06-02 아이덴티파이 주식회사 인공지능 기술을 이용한 배기가스 배출량 예측방법
US11720818B2 (en) 2019-09-11 2023-08-08 Samsung Display Co., Ltd. System and method to improve accuracy of regression models trained with imbalanced data
WO2021125557A1 (ko) * 2019-12-18 2021-06-24 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2021132774A1 (ko) * 2019-12-27 2021-07-01 (주)화승엑스윌 인공지능형 공압식 방충재의 관리 시스템
KR102481248B1 (ko) * 2020-02-21 2022-12-26 (주)미소정보기술 인공신경망을 이용한 백신을 공급하기 위한 장치 및 이를 위한 방법
CN111401644A (zh) * 2020-03-19 2020-07-10 南京国准数据有限责任公司 一种基于神经网络的降水降尺度空间预测方法
KR102600806B1 (ko) * 2020-04-17 2023-11-10 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 이미지 처리 방법, 장치, 전자 기기 및 컴퓨터 판독 가능 저장 매체
CN111639799B (zh) * 2020-05-27 2023-09-26 中国电力科学研究院有限公司 基于卷积轻量级梯度提升树的负荷总功率预测方法及系统
KR102369350B1 (ko) * 2020-09-14 2022-02-28 가천대학교 산학협력단 인공신경망을 이용한 공기조화설비의 에너지 사용량 및 데이터 예측 시스템 및 그 방법
US12010129B2 (en) * 2021-04-23 2024-06-11 Sophos Limited Methods and apparatus for using machine learning to classify malicious infrastructure
US20220351021A1 (en) * 2021-04-28 2022-11-03 Verizon Patent And Licensing Inc. Hybrid recommendation system and methods based on collaborative filtering integrated with multiple neural networks
CN113657591B (zh) * 2021-07-26 2024-08-20 东南大学 一种生物质焦气化反应特性的预测方法
CN114611418B (zh) * 2021-12-16 2024-06-04 中国科学院计算机网络信息中心 天然气管道流动状态预测方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922680B2 (en) 2002-03-19 2005-07-26 Koninklijke Philips Electronics N.V. Method and apparatus for recommending an item of interest using a radial basis function to fuse a plurality of recommendation scores
KR20040043911A (ko) 2002-11-20 2004-05-27 주식회사 포스코 신경 회로망을 이용한 압연 하중 예측 장치 및 방법
KR101022886B1 (ko) 2008-11-11 2011-03-16 한국과학기술원 사용자에 따른 지능형 콘텐츠 추천 방법 및 시스템
KR101703163B1 (ko) * 2011-03-22 2017-02-07 한국전자통신연구원 차량의 복합 고장을 예측하기 위한 장치 및 방법
KR101319647B1 (ko) 2011-10-25 2013-10-17 한양대학교 산학협력단 중첩 정보를 이용하여 효율적인 협업 필터링 프레임워크를 제공하는 방법
US9396164B2 (en) * 2013-10-21 2016-07-19 International Business Machines Corporation Sparsity-driven matrix representation to optimize operational and storage efficiency
KR101458004B1 (ko) * 2013-12-26 2014-11-04 주식회사 코스콤 인공 신경망 모형을 이용한 주가 등락 예측 시스템 및 주가 등락 예측 방법
JP6090286B2 (ja) * 2014-10-31 2017-03-08 カシオ計算機株式会社 機械学習装置、機械学習方法、分類装置、分類方法、プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Ioffe, Sergey, and Christian Szegedy. "Batch normalization: Accelerating deep network training by reducing internal covariate shift." International Conference on Machine Learning. 2015.*
Junlin, Zhang, et al. "A Distributional Representation Model For Collaborative Filtering." arXiv preprint arXiv:1502.04163. 2015.*

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210146000A (ko) 2020-05-26 2021-12-03 주식회사 다날 인공지능 기반의 신용등급 변동 예측 처리 장치 및 그 동작 방법
KR102385054B1 (ko) * 2020-05-26 2022-04-08 주식회사 다날 인공지능 기반의 신용등급 변동 예측 처리 장치 및 그 동작 방법
KR20210150803A (ko) * 2020-06-04 2021-12-13 주식회사 나인스 인공지능 기반의 할인쿠폰 액면가 추천을 위한 전자 시스템 장치 및 그 동작 방법
KR102374309B1 (ko) 2020-06-04 2022-03-15 주식회사 나인스 인공지능 기반의 할인쿠폰 액면가 추천을 위한 전자 시스템 장치 및 그 동작 방법
KR102598101B1 (ko) 2022-06-27 2023-11-02 경북대학교 산학협력단 딥 뉴럴 네트워크 기반 실시간 중환자실 환자 상태 분석 시스템 및 방법

Also Published As

Publication number Publication date
US20170351948A1 (en) 2017-12-07
US11250308B2 (en) 2022-02-15
KR20170136357A (ko) 2017-12-11
EP3467724A4 (en) 2019-07-10
EP3467724A1 (en) 2019-04-10
WO2017209548A1 (ko) 2017-12-07

Similar Documents

Publication Publication Date Title
KR101899101B1 (ko) 인공 신경망 기반 예측 모델 생성 장치 및 방법
JP7518250B2 (ja) リソース制約付きニューラルネットワークアーキテクチャ検索
Zhang et al. Deep learning-enabled intelligent process planning for digital twin manufacturing cell
JP7267985B2 (ja) 直接型ニューラルネットワーク構造を用いてアイテムを推奨するシステム、方法、及びコンピュータプログラム
US11449684B2 (en) Contrastive pre-training for language tasks
CN109478254A (zh) 使用合成梯度来训练神经网络
US10592777B2 (en) Systems and methods for slate optimization with recurrent neural networks
CN107506590A (zh) 一种基于改进深度信念网络的心血管疾病预测模型
JP2022063255A (ja) 機械学習に基づくレコメンダシステムにおける入力及びパラメータの同時学習
CN113361680A (zh) 一种神经网络架构搜索方法、装置、设备及介质
CN111723910A (zh) 构建多任务学习模型的方法、装置、电子设备及存储介质
US20210158156A1 (en) Distilling from Ensembles to Improve Reproducibility of Neural Networks
EP4371045A1 (en) Prompt tuning using one or more machine-learned models
CN108959787B (zh) 考虑实际工况的宏宏双驱动系统的热变形预测方法及系统
US20230059708A1 (en) Generation of Optimized Hyperparameter Values for Application to Machine Learning Tasks
WO2022166125A1 (en) Recommendation system with adaptive weighted baysian personalized ranking loss
US20230268035A1 (en) Method and apparatus for generating chemical structure using neural network
US11915120B2 (en) Flexible parameter sharing for multi-task learning
Mashinchi et al. An improvement on genetic-based learning method for fuzzy artificial neural networks
CN113449182A (zh) 一种知识信息个性化推荐方法及系统
Huang et al. Elastic dnn inference with unpredictable exit in edge computing
US11568469B1 (en) Systems and methods for generating recommendations based on multi-channel inputs
Zhang et al. Integrated optimization method of hidden parameters in incremental extreme learning machine
Van et al. Comparison of recommendation systems based on machine learning methods
Arungpadang et al. Development of dual response approach using artificial intelligence for robust parameter design

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant