KR20230013995A - 공정 시뮬레이션 모델 생성 방법 및 장치 - Google Patents

공정 시뮬레이션 모델 생성 방법 및 장치 Download PDF

Info

Publication number
KR20230013995A
KR20230013995A KR1020210095160A KR20210095160A KR20230013995A KR 20230013995 A KR20230013995 A KR 20230013995A KR 1020210095160 A KR1020210095160 A KR 1020210095160A KR 20210095160 A KR20210095160 A KR 20210095160A KR 20230013995 A KR20230013995 A KR 20230013995A
Authority
KR
South Korea
Prior art keywords
weight
learning model
data
learning
parameters
Prior art date
Application number
KR1020210095160A
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 KR1020210095160A priority Critical patent/KR20230013995A/ko
Priority to US17/852,024 priority patent/US20230025626A1/en
Priority to TW111127004A priority patent/TW202324013A/zh
Priority to CN202210852931.9A priority patent/CN115639756A/zh
Publication of KR20230013995A publication Critical patent/KR20230013995A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2834Automated test systems [ATE]; using microprocessors or computers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation 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
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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/08Learning methods
    • G06N3/092Reinforcement learning
    • 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/096Transfer learning
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L21/00Processes or apparatus adapted for the manufacture or treatment of semiconductor or solid state devices or of parts thereof
    • H01L21/67Apparatus specially adapted for handling semiconductor or electric solid state devices during manufacture or treatment thereof; Apparatus specially adapted for handling wafers during manufacture or treatment of semiconductor or electric solid state devices or components ; Apparatus not specifically provided for elsewhere
    • H01L21/67005Apparatus not specifically provided for elsewhere
    • H01L21/67242Apparatus for monitoring, sorting or marking
    • H01L21/67276Production flow monitoring, e.g. for increasing throughput
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2602Wafer processing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45031Manufacturing semiconductor wafers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Power Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Feedback Control In General (AREA)

Abstract

본 개시의 기술적 사상에 따른 대상에 대한 시뮬레이션 데이터 및 측정 데이터를 기초로 시뮬레이션 모델을 생성하는 방법은 상기 시뮬레이션 데이터를 기초로 학습된 사전 학습 모델에 포함된 가중치 파라미터들을 중요도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류하는 단계, 상기 시뮬레이션 데이터를 기초로 상기 사전 학습 모델의 상기 제1 가중치 그룹을 재학습시키는 단계 및 상기 측정 데이터를 기초로 재학습된 상기 제1 가중치 그룹을 포함하는 전이 학습 모델의 상기 제2 가중치 그룹을 학습시키는 단계를 포함한다.

Description

공정 시뮬레이션 모델 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING PROCESS SIMULATION MODEL}
본 개시의 기술적 사상은 공정 시뮬레이션 모델 생성 방법 및 장치에 관한 것으로서, 가중치 파라미터들을 관련성에 따라 구분하여 학습시킨 귀납적 전이 학습 모델을 통해 공정의 시뮬레이션 결과와 측정 데이터의 차이를 보정하는 공정 시뮬레이션 모델 생성 방법 및 장치에 관한 것이다.
뉴럴 네트워크(neural network)는 생물학적 뇌를 모델링한 컴퓨터 과학적 아키텍쳐(computational architecture)를 참조한다. 최근 뉴럴 네트워크(neural network) 기술이 발전함에 따라, 다양한 종류의 전자 시스템에서 뉴럴 네트워크 장치를 사용하여, 입력 데이터를 분석하고 유효한 정보를 추출하는 연구가 활발히 진행되고 있다.
반도체 공정에 대한 시뮬레이터의 성능을 개선하기 위해, 기존에는 엔지니어들이 물리적인 지식을 이용하여 직접 파라미터들을 조정하여 캘리브레이션 작업을 수행하였고, 최근에는 뉴럴 네트워크 기술을 적용하는 연구들이 활발해 지고 있으나, 시뮬레이션 데이터와 실제 측정 데이터의 차이를 줄이기 위해 딥러닝을 적용하는 연구는 부족한 실정이다.
본 개시의 기술적 사상이 해결하려는 과제는, 반도체 공정의 시뮬레이션을 딥러닝을 통해 처리하는 과정에서 시뮬레이션 데이터와 측정데이터의 차이를 줄이기 위해 가중치 데이터를 구분하여 처리하는 장치를 제공하는 데 있다.
본 개시의 기술적 사상에 따른 대상에 대한 시뮬레이션 데이터 및 측정 데이터를 기초로 시뮬레이션 모델을 생성하는 방법은 상기 시뮬레이션 데이터를 기초로 학습된 사전 학습 모델에 포함된 가중치 파라미터들을 중요도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류하는 단계, 상기 시뮬레이션 데이터를 기초로 상기 사전 학습 모델의 상기 제1 가중치 그룹을 재학습시키는 단계 및 상기 측정 데이터를 기초로 재학습된 상기 제1 가중치 그룹을 포함하는 전이 학습 모델의 상기 제2 가중치 그룹을 학습시키는 단계를 포함한다.
본 개시의 기술적 사상에 따른 시뮬레이션 데이터 및 측정 데이터를 기초로 공정 시뮬레이션 모델을 생성하는 방법은, 시뮬레이션 데이터를 기초로 제1 특성과 제2 특성의 공통점을 학습하는 공통 모델을 생성하고, 상기 공통 모델을 기초로 상기 제1 특성을 추론하는 제1 사전 학습 모델 및 상기 제2 특성을 추론하는 제2 사전 학습 모델을 생성하는 단계, 상기 제1 사전 학습 모델에 포함된 가중치 파라미터들을 상기 제1 특성과 관련도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류하는 단계, 상기 제2 가중치 그룹에 포함된 가중치 파라미터들을 초기화하고, 상기 제1 가중치 그룹 및 상기 시뮬레이션 데이터를 기초로 상기 제1 사전 학습 모델을 재학습시키는 단계, 상기 제2 가중치 그룹 및 상기 시뮬레이션 데이터를 기초로 상기 제2 사전 학습 모델을 재학습시키는 단계, 상기 제1 가중치 그룹 및 상기 제1 특성에 대한 측정 데이터를 기초로 상기 제1 사전 학습 모델에 대응되는 제1 전이 학습 모델을 학습시키는 단계 및 상기 제1 전이 학습 모델에 기초하여 상기 제2 사전 학습 모델에 대응되는 제2 전이 학습 모델을 학습시키는 단계를 포함한다.
본 개시의 기술적 사상에 따른 뉴럴 네트워크 장치는 뉴럴 네트워크 프로그램이 저장된 메모리, 상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함한다. 상기 프로세서는 상기 프로그램의 실행에 의해, 시뮬레이션 데이터를 기초로 학습된 사전 학습 모델에 포함된 가중치 파라미터들을 중요도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류하고, 상기 시뮬레이션 데이터를 기초로 상기 사전 학습 모델의 상기 제1 가중치 그룹을 재학습시키고, 측정 데이터를 기초로 전이 학습 모델의 상기 제2 가중치 그룹을 학습시킨다.
본 개시의 기술적 사상에 따른 시뮬레이션 데이터 및 측정 데이터를 기초로 공정 시뮬레이션 모델을 생성하는 방법을 통해 시뮬레이션 데이터와 측정 데이터의 차이를 효과적으로 빠르게 보정하며, 공정 시뮬레이션 모델의 처리 결과의 정확도가 향상될 수 있다.
본 개시의 공정 시뮬레이션 모델은 시뮬레이션 데이터와 측정 데이터의 차이를 효과적으로 빠르게 보정할 뿐 아니라, 이전 세대의 공정과 현재 세대 공정의 데이터 차이, 같은 세대 공정 중에서도 공정 라인간 데이터 차이 또는 설비별 데이터 차이를 효과적으로 보정할 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 시스템을 나타낸다.
도 2는 본 개시의 예시적 실시예에 따른 공정 시뮬레이션을 위한 전이 학습 모델을 설명하기 위한 도면이다.
도 3은 본 개시의 예시적 실시 예에 따른 전자 시스템을 나타낸다.
도 4는 본 개시의 예시적 실시 예에 따른 전자 시스템을 나타낸다.
도 5는 뉴럴 네트워크 구조의 일 예로서, 컨볼루션 뉴럴 네트워크의 구조를 나타낸다.
도 6a 및 도 6b는 뉴럴 네트워크의 컨볼루션 연산을 설명하기 위한 도면이다.
도 7은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델의 학습 과정을 설명하기 위한 도면이다.
도 8는 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델의 학습 과정을 설명하기 위한 도면이다.
도 9은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델을 생성하는 방법을 설명하는 순서도이다.
도 10은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델을 생성하는 방법을 설명하는 순서도이다.
도 11는 본 개시의 예시적 실시예에 따른 집적 회로 및 이를 포함하는 장치를 나타내는 블록도이다.
도 12은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 장치를 포함하는 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 시스템을 나타낸다.
공정 시뮬레이션 시스템(100)은 뉴럴 네트워크 장치(110), 시뮬레이터(120) 및 측정 장치(130)를 포함할 수 있다. 이 외에도 공정 시뮬레이션 시스템(100)은 메모리, 통신 모듈, 비디오 모듈(예컨대, 카메라 인터페이스, JPEG(Joint Photographic Experts Group) 프로세서, 비디오 프로세서, 또는 믹서 등), 3D 그래픽 코어, 오디오 시스템, 디스플레이 드라이버, GPU(Graphic Processing Unit), DSP(Digital signal Processor) 등과 같은 다른 범용적인 구성요소들을 더 포함할 수 있다.
뉴럴 네트워크 장치(110)는 뉴럴 네트워크를 기초로 입력 데이터를 분석하여 유효한 정보를 추출하고, 추출된 정보를 기초로 주변 상황을 판단하거나 뉴럴 네트워크 장치(110)가 탑재되는 전자 장치의 구성들을 제어할 수 있다. 예를 들어, 뉴럴 네트워크 장치(110)는 컴퓨팅 시스템에서 대상을 모델링하거나 시뮬레이터(simulator), 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS), 스마트 TV, 스마트 폰, 의료 장치, 모바일 장치, 영상 표시 장치, 계측 장치, IoT(Internet of Things) 장치 등에 적용될 수 있으며, 이외에도 다양한 종류의 전자 장치 중 하나에 탑재될 수 있다.
뉴럴 네트워크 장치(110)는 뉴럴 네트워크를 생성하거나, 뉴럴 네트워크를 학습(train, 또는 학습(learn))하거나, 수신되는 입력 데이터를 기초로 뉴럴 네트워크의 연산을 수행하고, 연산 결과를 기초로 정보 신호(information signal)를 생성하거나, 뉴럴 네트워크를 재훈련(retrain)할 수 있다. 뉴럴 네트워크 장치(110)는 뉴럴 네트워크 실행을 위한 하드웨어 가속기를 포함할 수 있다. 하드웨어 가속기는 예를 들어, 뉴럴 네트워크 실행을 위한 전용 모듈인 NPU(neural processing unit), TPU(Tensor Processing Unit), Neural Engine 등에 해당될 수 있으나, 이에 제한되지 않는다.
본 개시의 실시예에 따른 뉴럴 네트워크 장치(110)는 복수의 뉴럴 네트워크 모델(112, 114)을 실행할 수 있다. 뉴럴 네트워크 모델(112)은 학습되어 공정 시뮬레이션, 이미지 분류 등의 특정 목적 동작을 수행하는 딥 러닝 모델을 의미한다. 뉴럴 네트워크 모델(112)은 공정 시뮬레이션 시스템(100)이 원하는 정보 신호를 추출하기 위하여 사용되는 뉴럴 네트워크 모델일 수 있다. 예를 들어, 뉴럴 네트워크 모델(112)은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzmann Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network, GAN (Generative Adversarial Network), Transformer, Attention Network 등 다양한 종류의 뉴럴 네트워크 모델들 중 적어도 하나를 포함할 수 있다.
뉴럴 네트워크 모델(112)은 학습 장치(예컨대 많은 양의 입력 데이터를 기초로 뉴럴 네트워크를 학습 하는 서버 등)에서 학습(training)되어 생성되고, 학습된 뉴럴 네트워크 모델(112)이 뉴럴 네트워크 장치(110)에서 실행될 수 있다. 이하, 본 개시에서, 뉴럴 네트워크 모델(112)은 학습을 통해 구성 파라미터들(예컨대, 네트워크 토폴로지, 바이어스, 웨이트 등)이 결정된 뉴럴 네트워크를 의미한다. 뉴럴 네트워크 모델(112)의 구성 파라미터들은 학습 장치에서의 재학습을 통해 업데이트되어, 업데이트된 뉴럴 네트워크 모델(112)이 뉴럴 네트워크 장치(110)에 적용될 수 있다.
시뮬레이터(120)는 반도체 장치의 전기적, 기계적, 물성적 특성 등 물리적 현상을 해석하고 시뮬레이션 할 수 있다. 시뮬레이터(120)의 입력 데이터(PP)는 시뮬레이션에 필요한 입력 변수 및 환경 정보를 포함한다. 입력 변수는 공정 시뮬레이터가 사용하는 모델식의 입력 변수로 사용될 수 있다. 환경 정보는 각 시뮬레이터가 시뮬레이션을 수행하기 위하여 설정되어야 하는 입력 변수 외의 사항들(예컨대, 시뮬레이션 플로우, 각 시뮬레이터의 입출력 정보 등)을 포함한다.
시뮬레이터(120)는 반도체 장치의 공정, 소자 또는 회로의 특성에 대해 시뮬레이션하고 시뮬레이션 결과인 출력 데이터(SDT)를 출력할 수 있다. 예를 들어, 시뮬레이터(120)는 물질, 구조, 공정 입력 데이터에 기초하여 하나 이상의 공정 시뮬레이션 모델식을 이용하여 각 공정 단계들을 시뮬레이션 할 수 있다. 하나 이상의 공정 단계는 산화(Oxidation), 감광액(Photoresist) 도포, 노광(Exposure), 현상(Development), 식각(Etching), 이온 주입(Ion Implantation), 확산(Diffusion), 화학 기상 증착(Chemical Vapor Deposition), 금속배선(Metallization) 공정을 포함할 수 있다. 시뮬레이터(120)는 공정 단계들에 대한 시뮬레이션 결과에 기초하여, 미리 정의된 소자 시뮬레이션 모델식을 이용하여 적어도 하나의 소자를 시뮬레이션하여 소자 특성 데이터를 출력할 수 있다.
측정 장치(130) 또는 검사 장비는 반도체 장치(SD)의 특성을 측정하고, 측정 데이터(IDT)를 생성할 수 있다. 측정 장치(130)에서 생성된 반도체 장치(SD)의 측정 데이터(IDT)는 시뮬레이터(120)의 출력 데이터(SDT)와 대응되는 데이터일 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 공정 시뮬레이션을 위한 전이 학습 모델을 설명하기 위한 도면이다.
도 2를 참조하면, 공정 시뮬레이션 시스템은 공정에 필요한 입력 변수 및 환경 정보(610)를 기초로 공정 시뮬레이션(620) 또는 실험(630)을 수행할 수 있다. 입력 변수는 공정 시뮬레이터가 사용하는 모델식의 입력 변수로 사용될 수 있다. 환경 정보는 각 시뮬레이터가 시뮬레이션을 수행하기 위하여 설정되어야 하는 입력 변수 외의 사항들(예컨대, 시뮬레이션 플로우, 각 시뮬레이터의 입출력 정보 등)을 포함할 수 있다.
공정 시뮬레이션 시스템은 공정 시뮬레이션(620) 과정에서 반도체 장치의 전기적, 기계적, 물성적 특성 등 물리적 현상을 해석하고 시뮬레이션 하여, 반도체 장치의 도핑 프로파일(640) 또는 전류 전압 특성 데이터(650)과 같은 시뮬레이션 결과를 생성할 수 있다.
공정 시뮬레이션 시스템은 실험(630) 또는 실제 공정에서 생성된 반도체 장치에 대해 측정을 수행하고, 반도체 장치의 도핑 프로파일(660) 또는 전류 전압 특성 데이터(670)를 생성할 수 있다.
공정 시뮬레이션 시스템에서 동일한 반도체 장치를 생성하기 위한 동일한 입력 변수 및 환경 정보를 기초로 공정 시뮬레이션(620) 또는 실험(630)을 수행하더라도, 공정 시뮬레이션(620)을 통해 생성된 도핑 프로파일(640) 또는 전류 전압 특성 데이터(650)와, 실험(630)의 결과 생성된 도핑 프로파일(660) 또는 전류 전압 특성 데이터(670)는 다를 수 있다.
도핑 프로파일 또는 전류 전압 특성 데이터를 포함하는 출력 데이터는 공정 라인의 특성이 달라지거나, 공정 세대가 변하는 경우에도 차이가 생길 수 있다. 공정 시뮬레이션을 위한 전이 학습(transfer learning)모델에서 입력 데이터가 동일하고 출력 데이터가 다른 경우 학습 대상의 측정 데이터가 필요하나 높은 비용이 문제되거나 측정 자체가 불가능한 경우가 있다.
예를 들어, 반도체 장치의 전류 전압 특성 데이터(670)의 경우 상대적으로 측정이 용이하나, 반도체 장치의 도핑 프로파일(660)을 얻기 위해서는 비용이 많이 들고, 측정이 어렵거나 불가능할 수 있다. 따라서, 측정 데이터가 적은 경우 또는 없는 경우에 전이 학습 모델을 생성하기 위한 방법이 필요하다.
도 3은 본 개시의 예시적 실시 예에 따른 전자 시스템(300)을 나타낸다.
전자 시스템(300)은 뉴럴 네트워크를 기초로 입력 데이터를 실시간으로 분석하여 유효한 정보를 추출하고, 추출된 정보를 기초로 상황을 판단하거나 전자 시스템(300)이 탑재되는 전자 장치의 구성들을 제어할 수 있다. 예를 들어, 전자 시스템(300)은 드론(drone), 첨단 운전자 보조 시스템(Advanced Drivers Assistance System; ADAS) 등과 같은 로봇 장치, 스마트 TV, 스마트 폰, 의료 장치, 모바일 장치, 영상 표시 장치, 계측 장치, IoT(Internet of Things) 장치 등에 적용될 수 있으며, 이외에도 다양한 종류의 전자 장치 중 하나에 탑재될 수 있다.
전자 시스템(300)은 적어도 하나의 IP 블록(Intellectual Property) 및 뉴럴 네트워크 프로세서(310)를 포함할 수 있다. 예를 들어, 전자 시스템(300)은 제1 IP 블록(IP1) 내지 제3 IP 블록(IP3) 및 뉴럴 네트워크 프로세서(310)를 포함할 수 있다.
전자 시스템(300)은 다양한 종류의 IP 블록들을 포함할 수 있다. 예를 들어, IP 블록들은 프로세싱 유닛(processing unit), 프로세싱 유닛에 포함된 복수의 코어들(cores), MFC(Multi-Format Codec), 비디오 모듈(예컨대, 카메라 인터페이스, JPEG(Joint Photographic Experts Group) 프로세서, 비디오 프로세서, 또는 믹서 등), 3D 그래픽 코어, 오디오 시스템, 드라이버, 디스플레이 드라이버, 휘발성 메모리, 비휘발성 메모리(non-volatile memory), 메모리 컨트롤러(memory controller), 입출력 인터페이스 블록(input and output interface block), 또는 캐시 메모리(cache memory) 등을 포함할 수 있다. 제1 IP 블록(IP1) 내지 제3 IP 블록(IP3) 각각은 상기 다양한 종류의 IP 블록들 중 적어도 하나를 포함할 수 있다.
IP들을 연결하기 위한 기술에는 시스템 버스(System Bus)를 기반으로 한 연결 방식이 있다. 예를 들어, 표준 버스 규격으로서, ARM(Advanced RISC Machine) 사의 AMBA(Advanced Microcontroller Bus Architecture) 프로토콜이 적용될 수 있다. AMBA 프로토콜의 버스 타입에는 AHB(Advanced High-Performance Bus), APB(Advanced Peripheral Bus), AXI(Advanced eXtensible Interface), AXI4, ACE(AXI Coherency Extensions) 등이 포함될 수 있다. 전술된 버스 타입들 중 AXI는 IP들 사이의 인터페이스 프로토콜로서, 다중 아웃스탠딩 어드레스(multiple outstanding address) 기능과 데이터 인터리빙(data interleaving) 기능 등을 제공할 수 있다. 이외에도, 소닉사(SONICs Inc.)의 uNetwork 나 IBM사의 CoreConnect, OCP-IP의 오픈 코어 프로토콜(Open Core Protocol) 등 다른 타입의 프로토콜이 시스템 버스에 적용되어도 무방할 것이다.
뉴럴 네트워크 프로세서(310)는 뉴럴 네트워크를 생성하거나, 뉴럴 네트워크를 훈련(train, 또는 학습(learn))하거나, 수신되는 입력 데이터를 기초로 연산을 수행하고, 수행 결과를 기초로 정보 신호(information signal)를 생성하거나, 뉴럴 네트워크를 재훈련(retrain)할 수 있다. 뉴럴 네트워크의 모델들은 GoogleNet, AlexNet, VGG Network 등과 같은 CNN(Convolution Neural Network), R-CNN(Region with Convolution Neural Network), RPN(Region Proposal Network), RNN(Recurrent Neural Network), S-DNN(Stacking-based deep Neural Network), S-SDNN(State-Space Dynamic Neural Network), Deconvolution Network, DBN(Deep Belief Network), RBM(Restricted Boltzmann Machine), Fully Convolutional Network, LSTM(Long Short-Term Memory) Network, Classification Network, GAN (Generative Adversarial Network), Transformer, Attention Network 등 다양한 종류의 모델들을 포함할 수 있으나 이에 제한되지는 않는다. 뉴럴 네트워크 프로세서(310)는 뉴럴 네트워크의 모델들에 따른 연산을 수행하기 위한 하나 이상의 프로세서를 포함할 수 있다. 또한, 뉴럴 네트워크 프로세서(310)는 뉴럴 네트워크의 모델들에 대응되는 프로그램들을 저장하기 위한 별도의 메모리를 포함할 수도 있다. 뉴럴 네트워크 프로세서(310)는 뉴럴 네트워크 처리 장치(neural network processing device), 뉴럴 네트워크 집적 회로(neural network integrated circuit) 또는 뉴럴 네트워크 처리 유닛(Neural network Processing Unit; NPU) 등으로 달리 호칭될 수 있다.
뉴럴 네트워크 프로세서(310)는 시스템 버스를 통해 적어도 하나의 IP 블록으로부터 다양한 종류의 입력 데이터를 수신할 수 있고, 입력 데이터를 기초로 정보 신호를 생성할 수 있다. 예를 들어, 뉴럴 네트워크 프로세서(310)는 입력 데이터에 뉴럴 네트워크 연산을 수행함으로써 정보 신호를 생성해낼 수 있으며, 뉴럴 네트워크 연산은 컨볼루션 연산을 포함할 수 있다. 뉴럴 네트워크 프로세서(310)의 컨볼루션 연산에 관해서는 도 5a 및 도 5b를 참조해 보다 자세히 설명된다. 뉴럴 네트워크 프로세서(310)가 생성하는 정보 신호는 음성 인식 신호, 사물 인식 신호, 영상 인식 신호, 생체 정보 인식 신호 등과 같은 다양한 종류의 인식 신호들 중 적어도 하나를 포함할 수 있다. 예를 들어, 뉴럴 네트워크 프로세서(310)는 비디오 스트림에 포함되는 프레임 데이터를 입력 데이터로서 수신하고, 프레임 데이터로부터 프레임 데이터가 나타내는 이미지에 포함된 사물에 대한 인식 신호를 생성할 수 있다. 하지만, 이에 제한되는 것은 아니며, 뉴럴 네트워크 프로세서(310)는 다양한 종류의 입력 데이터를 수신할 수 있고, 입력 데이터에 따른 인식 신호를 생성할 수 있다.
본 개시의 예시적 실시 예에 따른 전자 시스템(300)에 의하면, 뉴럴 네트워크 프로세서(310)는 컨볼루션 연산에 이용되는 커널 데이터(kernel data)에 포함된 웨이트 값(weight value)에 대해 별도의 프로세스를 수행함으로써 커널 데이터를 캘리브레이션 할 수 있다. 예를 들어, 뉴럴 네트워크 프로세서(310)는 학습 과정에서 웨이트 값들을 분류하여 초기화하거나 재학습 처리할 수 있다.
위와 같이, 본 개시의 예시적 실시 예에 따른 전자 시스템(300)에 따르면, 컨볼루션 연산에 이용되는 커널 데이터의 웨이트 값들에 대해 별도의 프로세스를 수행하여 공정 시뮬레이션 데이터를 측정 데이터에 더 가깝게 캘리브레이션 할 수 있고, 이와 더불어 뉴럴 네트워크 프로세서(310)의 정확도를 증가시킬 수 있다.
도 4는 본 개시의 예시적 실시 예에 따른 전자 시스템(400)을 나타낸다.
특히, 도 4는 도 3에 개시된 전자 시스템(300)의 보다 구체적인 예시적 실시 예를 나타낸다. 도 4의 전자 시스템(400)에 관해 도 3과 중복되는 설명은 생략한다.
전자 시스템(400)은 뉴럴 네트워크 처리 유닛(Neural network Processing Unit; NPU; 410), RAM(Random Access Memory; 420), 프로세서(430), 메모리(440) 및 센서 모듈(450)을 포함할 수 있다. 뉴럴 네트워크 처리 유닛(410)은 도 2의 뉴럴 네트워크 프로세서(310)에 대응되는 구성일 수 있다.
RAM(420)은 프로그램들, 데이터, 또는 명령들(instructions)을 일시적으로 저장할 수 있다. 예컨대, 메모리(440)에 저장된 프로그램들 및/또는 데이터는 프로세서(430)의 제어 또는 부팅 코드에 따라 RAM(420)에 일시적으로 로딩될 수 있다. RAM(420)은 DRAM(Dynamic RAM) 또는 SRAM(Static RAM) 등의 메모리를 이용해 구현될 수 있다.
프로세서(430)는 전자 시스템(400)의 전반적인 동작을 제어할 수 있으며, 일 예로서 프로세서(430)는 중앙 프로세싱 유닛(Central Processing Unit; CPU)일 수 있다. 프로세서(430)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 프로세서(430)는 RAM(420) 및 메모리(440)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 예를 들어, 프로세서(430)는 메모리(440)에 저장된 프로그램들을 실행함으로써 전자 시스템(400)의 기능들을 제어할 수 있다.
메모리(440)는 데이터를 저장하기 위한 저장 장소로서, 예를 들어, OS(Operating System), 각종 프로그램들 및 각종 데이터를 저장할 수 있다. 메모리(440)는 DRAM일 수 있으나, 이에 한정되는 것은 아니다. 메모리(440)는 휘발성 메모리(volatile memory) 또는 비휘발성 메모리(non-volatile memory) 중 적어도 하나를 포함할 수 있다. 비휘발성 메모리는 ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등을 포함할 수 있다. 휘발성 메모리는 DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous DRAM) 등을 포함할 수 있다. 또한 일 실시 예에 있어서, 메모리(400)는 HDD(Hard Disk Drive), SSD(Solid-State Drive), CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme digital) 또는 Memory Stick 중 적어도 하나를 포함할 수도 있다.
센서 모듈(450)은 전자 시스템(400) 주변의 정보를 수집할 수 있다. 센서 모듈(450)은 전자 시스템(400) 외부로부터 반도체 장치에 대한 측정 데이터를 센싱 또는 수신할 수 있다.
본 개시의 예시적 실시 예에 따른 전자 시스템(400)에 의하면, 뉴럴 네트워크 처리 유닛(410)은 컨볼루션 연산에 이용되는 커널 데이터(kernel data)에 포함된 웨이트 값(weight value)에 대해 별도의 프로세스를 수행함으로써 커널 데이터를 캘리브레이션 할 수 있다. 예를 들어, 뉴럴 네트워크 처리 유닛(410)은 학습 과정에서 웨이트 값들을 분류하여 초기화하거나 재학습 처리할 수 있다.
위와 같이, 본 개시의 예시적 실시 예에 따른 전자 시스템(400)에 따르면, 컨볼루션 연산에 이용되는 커널 데이터의 웨이트 값들에 대해 별도의 프로세스를 수행하여 공정 시뮬레이션 데이터를 측정 데이터에 더 가깝게 캘리브레이션 할 수 있고, 이와 더불어 뉴럴 네트워크 처리 유닛(410)의 정확도를 증가시킬 수 있다.
도 5는 뉴럴 네트워크 구조의 일 예로서, 컨볼루션 뉴럴 네트워크의 구조를 나타낸다.
뉴럴 네트워크(NN)는 복수의 레이어들(L1 내지 Ln)을 포함할 수 있다. 복수의 레이어들(L1 내지 Ln) 각각은 선형 레이어 또는 비선형 레이어일 수 있으며, 일 실시 예에 있어서, 적어도 하나의 레이어 및 적어도 하나의 비선형 레이어가 결합되어 하나의 레이어로 지칭될 수도 있다. 예시적으로, 선형 레이어는 컨볼루션 레이어(convolution layer) 및 풀리 커넥티드 레이어(fully-connected layer)를 포함할 수 있으며, 비선형 레이어는 풀링(pooling layer) 및 활성 레이어(activation layer)를 포함할 수 있다.
예시적으로, 제1 레이어(L1)는 컨볼루션 레이어이고, 제2 레이어(L2)는 풀링 레이어이고, 제n 레이어(Ln)는 출력 레이어로서 풀리 커넥티드 레이어일 수 있다. 뉴럴 네트워크(NN)는 활성 레이어를 더 포함할 수 있으며, 다른 종류의 연산을 수행하는 레이어를 더 포함할 수 있다.
복수의 레이어들(L1 내지 Ln) 각각은 입력되는 데이터(예컨대, 이미지 프레임) 또는 이전 레이어에서 생성된 피처 맵을 입력 피처 맵으로서 수신하고, 입력 피처 맵을 연산함으로써 출력 피처 맵 또는 인식 신호(REC)를 생성할 수 있다. 이 때, 피처 맵은 입력 데이터의 다양한 특징이 표현된 데이터를 의미한다. 피처 맵들(FM1, FM2, FMn)은 예컨대 2차원 매트릭스 또는 3차원 매트릭스(또는 텐서(tensor)) 형태를 가질 수 있다. 피처 맵들(FM1, FM2, FMn)은 너비(W)(또는 칼럼), 높이(H)(또는 로우) 및 깊이(D)를 가지며, 이는 좌표상의 x축, y축 및 z축에 각각 대응될 수 있다. 이 때, 깊이(D)는 채널 수로 지칭될 수 있다.
제1 레이어(L1)는 제1 피처 맵(FM1)을 웨이트 맵(WM)과 컨볼루션함으로써 제2 피처 맵(FM2)을 생성할 수 있다. 웨이트 맵(WM)은 제1 피처 맵(FM1)을 필터링할 수 있으며, 필터 또는 커널로도 지칭될 수 있다. 웨이트 맵(WM)의 깊이, 즉 채널 개수는 제1 피처 맵(FM1)의 깊이, 즉 채널 개수와 동일하며, 웨이트 맵(WM)과 제1 피처 맵(FM1)의 동일한 채널끼리 컨볼루션 될 수 있다. 웨이트 맵(WM)이 제1 피처 맵(FM1)을 슬라이딩 윈도우로 하여 횡단하는 방식으로 시프트 될 수 있다. 시프트되는 양은 "스트라이드(stride) 길이" 또는 "스트라이드"로 지칭될 수 있다. 각 시프트 동안, 웨이트 맵(WM)에 포함되는 웨이트 값들 각각이 제1 피처 맵(FM1)과 중첩되는 영역에서의 모든 피처 데이터들과 곱해지고 더해질 수 있다. 웨이트 맵(WM)에 포함되는 웨이트 값들 각각이 제1 피처 맵(FM1)과 중첩되는 영역에서의 제1 피처 맵(FM1)의 데이터들을 추출 데이터라 칭할 수 있다. 제1 피처 맵(FM1)과 웨이트 맵(WM)이 컨볼루션 됨에 따라, 제2 피처 맵(FM2)의 하나의 채널이 생성될 수 있다. 도 3에는 하나의 웨이트 맵(WM)이 표시되었으나, 실질적으로는 복수의 웨이트 맵들이 제1 피처 맵(FM1)과 컨볼루션 되어, 제2 피처 맵(FM2)의 복수의 채널들이 생성될 수 있다. 다시 말해, 제2 피처 맵(FM2)의 채널의 수는 웨이트 맵의 개수에 대응될 수 있다.
제2 레이어(L2)는 풀링을 통해 제2 피처 맵(FM2)의 공간적 크기(spatial size)를 변경함으로써, 제3 피처 맵(FM3)을 생성할 수 있다. 풀링은 샘플링 또는 다운-샘플링으로 지칭될 수 있다. 2차원의 풀링 윈도우(PW)가 풀링 윈도우(PW)의 사이즈 단위로 제2 피처 맵(FM2) 상에서 시프트 되고, 풀링 윈도우(PW)와 중첩되는 영역의 피처 데이터들 중 최대값(또는 피처 데이터들의 평균값)이 선택될 수 있다. 이에 따라, 제2 피처 맵(FM2)으로부터 공간적 사이즈가 변경된 제3 피처 맵(FM3)이 생성될 수 있다. 제3 피처 맵(FM3)의 채널과 제2 피처 맵(FM2)의 채널 개수는 동일하다.
제n 레이어(Ln)는 제n 피처 맵(FMn)의 피처들을 조합함으로써 입력 데이터의 클래스(class)(CL)를 분류할 수 있다. 또한, 제n 레이어(Ln)는 클래스에 대응되는 인식 신호(REC)를 생성할 수 있다. 실시 예에 있어서, 입력 데이터는 비디오 스트림(video stream)에 포함되는 프레임 데이터에 대응될 수 있으며, 제n 레이어(Ln)는 이전 레이어로부터 제공되는 제n 피처 맵(FMn)을 기초로 프레임 데이터가 나타내는 이미지에 포함되는 사물에 해당하는 클래스를 추출함으로써, 사물을 인식하고, 인식된 사물에 상응하는 인식 신호(REC)를 생성할 수 있다.
도 6a 및 도 6b는 뉴럴 네트워크의 컨볼루션 연산을 설명하기 위한 도면이다.
도 6a를 참조하면, 입력 피처 맵들(201)은 D개의 채널들을 포함하고, 각 채널의 입력 피처 맵은 H행 W열의 크기를 가질 수 있다(D, H, W는 자연수). 커널들(202) 각각은 R행 S열의 크기를 갖고, 커널들(202)은 입력 피처 맵들(201)의 채널 수(또는 깊이)(D) 에 대응되는 개수의 채널들을 포함할 수 있다(R, S는 자연수). 출력 피처 맵들(203)은 입력 피처 맵들(201)과 커널들(202) 간의 3차원 컨볼루션 연산을 통해 생성될 수 있고, 컨볼루션 연산에 따라 Y개의 채널들을 포함할 수 있다.
하나의 입력 피처 맵과 하나의 커널 간의 컨볼루션 연산을 통해 출력 피처 맵이 생성되는 과정은 도 6b를 참조해 설명될 수 있으며, 도 5b에서 설명되는 2차원 컨볼루션 연산이 전체 채널들의 입력 피처 맵들(201)과 전체 채널들의 커널들(202) 간에 수행됨으로써, 전체 채널들의 출력 피처 맵들(203)이 생성될 수 있다.
도 6b를 참조하면, 설명의 편의를 위해, 입력 피처 맵(210)은 6x6 크기(size)를 가지고, 원본 커널(220)은 3x3 크기를 가지고, 출력 피처 맵(230)은 4x4 크기인 것으로 가정하나, 이에 제한되지 않으며 뉴럴 네트워크는 다양한 크기의 피처 맵들 및 커널들로 구현될 수 있다. 또한, 입력 피처 맵(210), 원본 커널(220) 및 출력 피처 맵(230)에 정의된 값들은 모두 예시적인 값들일 뿐이고, 본 개시에 따른 실시 예들이 이에 제한되지 않는다.
원본 커널(220)은 입력 피처 맵(210)에서 3x3 크기의 윈도우 단위로 슬라이딩하면서 컨볼루션 연산을 수행할 수 있다. 컨볼루션 연산은 입력 피처 맵(210)의 어느 윈도우의 각 피처 데이터 및 원본 커널(220)에서 대응되는 위치의 각 웨이트 값들 간의 곱셈을 함으로써 획득된 값들을 모두 합산함에 따라 출력 피처 맵(230)의 각 피처 데이터를 구하는 연산을 나타낼 수 있다. 웨이트 값들과 곱해지는 상기 입력 피처 맵(210)의 윈도우에 포함된 데이터들을 입력 피처 맵(210)으로부터 추출된 추출 데이터라 칭할 수 있다. 구체적으로, 원본 커널(220)은 먼저 입력 피처 맵(210)의 제1 추출 데이터(211)와 컨볼루션 연산을 수행할 수 있다. 즉, 제1 추출 데이터(211)의 각 피처 데이터 1, 2, 3, 4, 5, 6, 7, 8, 9는 각각 대응되는 원본 커널(220)의 웨이트 값인 -1, -3, 4, 7, -2, -1, -5, 3, 1과 곱해지고, 그 결과로서 -1, -6, 12, 28, -10, -6, -35, 24, 9가 획득될 수 있다. 다음으로, 획득된 값들 -1, -6, 12, 28, -10, -6, -35, 24, 9를 모두 더한 결과인 15가 계산되고, 출력 피처 맵(230)의 1행 1열의 피처 데이터(231)는 15로 결정될 수 있다. 여기서 출력 피처 맵(230)의 1행 1열의 피처 데이터(231)는 제1 추출 데이터(211)에 대응된다. 마찬가지 방식으로, 입력 피처 맵(210)의 제2 추출 데이터(212)와 원본 커널(220) 간의 컨볼루션 연산이 수행됨으로써 출력 피처 맵(230)의 1행 2열의 피처 데이터(232)인 4가 결정될 수 있다. 최종적으로, 입력 피처 맵(210)의 마지막 추출 데이터인 제16 추출 데이터(213)와 원본 커널(220) 간의 컨볼루션 연산이 수행됨으로써 출력 피처 맵(230)의 4행 4열의 피처 데이터(233)인 11이 결정될 수 있다.
다시 말해, 하나의 입력 피처 맵(210)과 하나의 원본 커널(220) 간의 컨볼루션 연산은 입력 피처 맵(210)의 추출 데이터 및 원본 커널(220)의 대응되는 웨이트 값들의 곱셈 및 곱셈 결과들의 합산을 반복적으로 수행함으로써 처리될 수 있고, 컨볼루션 연산의 결과로서 출력 피처 맵(230)이 생성될 수 있다.
도 1을 함께 참조하면, 본 개시의 예시적 실시 예에 따른 뉴럴 네트워크 장치(110)에 의하면, 컨볼루션 연산에 과정에서, 뉴럴 네트워크 장치(110)는 뉴럴 네트워크 모델(112, 114, ??) 각각에 포함된 커널 데이터의 웨이트 값들을 분류하고 초기화하거나 재학습시킬 수 있다. 뉴럴 네트워크 장치(110)는 컨볼루션 연산에 이용되는 커널 데이터의 웨이트 값들에 대해 별도의 프로세스를 수행하여 공정 시뮬레이션 데이터를 측정 데이터에 더 가깝게 캘리브레이션 할 수 있고, 이와 더불어 뉴럴 네트워크 장치(110)의 정확도를 증가시킬 수 있다.
예를 들어, 뉴럴 네트워크 장치(110)는 커널(220)의 웨이트 값인 -1, -3, 4, 7, -2, -1, -5, 3, 1를 크기순으로 정렬하고, 가장 크기가 큰 7을 중요한 가중치로 분류하고, 7을 필터링 하기 위한 마스크 필터를 생성할 수 있다.
본 개시의 예시적 실시 예에 따른 뉴럴 네트워크 장치(110)의 시뮬레이션 데이터 및 측정 데이터를 기초로 공정 시뮬레이션 모델을 생성하는 방법 및 이를 위한 뉴럴 네트워크 장치가 이하의 도면들을 통해 보다 구체적으로 설명된다.
도 7은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델의 학습 과정을 설명하기 위한 도면이다.
도 7을 참조하면, 공정 시뮬레이션 시스템에서 시뮬레이션 데이터가 많고, 실제 측정 데이터가 적은 경우 귀납적 전이학습(Inductive Transfer Learning)을 수행할 수 있다.
공정 시뮬레이션 모델의 학습 과정은 사전 학습 단계(S610), 가중치 분류 단계(S620), 재학습 단계(S630) 및 캘리브레이션 단계(S640)을 포함할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 단계(S610)에서 공정 파라미터를 입력으로 도핑 프로파일을 출력하는 대량의 공정 시뮬레이션 데이터를 학습할 수 있다. 공정 시뮬레이션 시스템은 공정 시뮬레이션 데이터를 학습하여 사전 학습 가중치(WO)를 생성할 수 있다. 공정 시뮬레이션 시스템은 사전 학습 모델을 통해 제1 도핑 프로파일(YS)을 추론할 수 있다.
공정 시뮬레이션 시스템은 가중치 분류 단계(S620)에서 공정 시뮬레이션 학습 과정에서 제1 도핑 프로파일(YS)을 추론하는데 영향을 미치는 정도를 고려하여 가중치 파라미터들을 분류할 수 있다. 공정 시뮬레이션 시스템은 가중치 파라미터들을 분류하기 위해 마스크 배열을 이용할 수 있다.
공정 시뮬레이션 시스템은 가중치 파라미터들의 값을 오름차순 또는 내림차순으로 정렬하고, 정렬된 데이터의 크기에 기초하여 제1 가중치 그룹(WU)과 제2 가중치 그룹(WP)을 분류할 수 있다. 예를 들어, 공정 시뮬레이션 시스템은 가중치 파라미터들의 크기가 큰 상위 10%를 제1 가중치 그룹(WU)으로 분류하고 나머지를 제2 가중치 그룹(WP)으로 분류할 수 있다.
공정 시뮬레이션 시스템은 가중치 파라미터들의 값을 오름차순 또는 내림차순으로 정렬하고, 정렬된 데이터의 값이 급격하게 바뀌는 구간 또는 변화량이 가장 큰 구간에서 기준 가중치를 선택하고, 상기 기준 가중치 이상인 가중치 파라미터들을 제1 가중치 그룹(WU)으로 분류하고 나머지를 제2 가중치 그룹(WP)으로 분류할 수 있다. 가중치 그룹을 분류하는 기준은 이에 한정되는 것은 아니며 다양한 방법을 통해 중요도가 높은 가중치들을 추출할 수 있다.
공정 시뮬레이션 시스템은 재학습 단계(S630)에서 사전 학습 모델의 사전 학습 가중치(WO) 중 제2 가중치 그룹(WP)에 대응되는 가중치 파라미터들을 0으로 초기화 할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 모델의 사전 학습 가중치(WO) 중 제1 가중치 그룹(WU)에 대응되는 가중치 파라미터들을 재학습 시킬 수 있다. 공정 시뮬레이션 시스템은 사전 학습 단계(S610)에서 학습한 시뮬레이션 데이터를 활용하여 제2 가중치 그룹(WP)은 0으로 초기화한 상태에서 제1 가중치 그룹(WU)에 대해서만 학습을 수행할 수 있다.
공정 시뮬레이션 시스템은 캘리브레이션 단계(S640)에서는 실제 측정 데이터를 기초로 전이 학습 모델을 학습시킬 수 있다. 공정 시뮬레이션 시스템은 재학습 단계(S630)에서 재학습된 제1 가중치 그룹(WU)의 데이터를 전이 학습 모델에 사용할 수 있다. 공정 시뮬레이션 시스템은 실제 측정 데이터를 기초로 전이 학습 모델의 제2 가중치 그룹(WP)에 대해서 학습을 수행할 수 있다. 공정 시뮬레이션 시스템은 제2 가중치 그룹(WP)의 가중치 파라미터들의 값에 대해 정규화 프로세스를 수행할 수 있다. 공정 시뮬레이션 시스템은 정규화 프로세스를 통해 과소적합 또는 과적합 문제를 해결할 수 있다. 예를 들어, 전이 학습 모델에서 재학습된 제1 가중치 그룹(WU)이 시뮬레이션의 주요 물리적 특성을 반영하고 있으므로, 제2 가중치 그룹(WP)의 경우 학습 과정에서 변화가 크지 않을 것을 예측할 수 있다. 따라서, 공정 시뮬레이션 시스템은 제2 가중치 그룹(WP)의 가중치 파라미터들의 값이 기설정된 기준값 이상인 경우, 예외 또는 노이즈로 판단하고 해당 학습내용을 반영하지 않을 수 있다.
예를 들어, 정규화 프로세스는 기계학습 분야에서 활용되는 L1 정규화 또는 L2 정규화를 포함할 수 있다. 공정 시뮬레이션 시스템은 전이 학습 모델을 통해 제2 도핑 프로파일(YT)을 추론할 수 있다. 공정 시뮬레이션 시스템은 실제 측정 데이터를 학습한 전이 학습 모델과 시뮬레이션 데이터를 학습한 사전 학습 모델의 차이를 업데이트하여 시뮬레이션 데이터와 측정 데이터의 차이를 실시간으로 보정할 수 있다.
도 8는 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델의 학습 과정을 설명하기 위한 도면이다.
도 8을 참조하면, 공정 시뮬레이션 시스템에서 시뮬레이션 데이터가 많고, 실제 측정 데이터가 없는 경우, 관련된 다른 시뮬레이션 데이터 및 측정 데이터에서 학습하는 이중 귀납적 전이학습(Dual Inductive Transfer Learning)을 수행할 수 있다.
공정 시뮬레이션 모델의 학습 과정은 사전 학습 단계(S710), 가중치 분류 단계(S720), 재학습 단계(S730) 및 캘리브레이션 단계(S740)을 포함할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 단계(S710)에서 공정 파라미터를 입력으로 도핑 프로파일 또는 전류 전압 특성을 출력하는 대량의 공정 시뮬레이션 데이터를 학습할 수 있다. 공정 시뮬레이션 시스템은 사전 학습 모델을 통해 도핑 프로파일, 전류 전압 특성 또는 그 외 특성들 중 적어도 하나의 데이터를 추론할 수 있다. 예를 들어, 추론하는 제1 특성은 전류 전압 특성이고, 제2 특성은 도핑 프로파일 일 수 있다.
공정 시뮬레이션 시스템은 공정 시뮬레이션 데이터를 학습하여 사전 학습 가중치(WG)를 생성할 수 있다. 공정 시뮬레이션 시스템은 제1 특성에 대응하는 제1 특성 가중치(WHA) 및 제2 특성에 대응하는 제2 특성 가중치(WHB)를 생성할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 모델을 통해 제1 특성(YS_1) 및 제2 특성(YS_2)을 추론할 수 있다.
공정 시뮬레이션 시스템은 가중치 분류 단계(S720)에서 공정 시뮬레이션 학습 과정에서 제1 특성(YS_1)을 추론하는데 영향을 미치는 정도를 고려하여 가중치 파라미터들을 분류할 수 있다. 공정 시뮬레이션 시스템은 가중치 파라미터들을 분류하기 위해 마스크 배열을 이용할 수 있다.
공정 시뮬레이션 시스템은 가중치 파라미터들의 값을 오름차순 또는 내림차순으로 정렬하고, 정렬된 데이터의 크기에 기초하여 제1 가중치 그룹(WGA)과 제2 가중치 그룹(WGB)을 분류할 수 있다. 예를 들어, 공정 시뮬레이션 시스템은 가중치 파라미터들의 크기가 큰 상위 10%를 제1 가중치 그룹(WGA)으로 분류하고 나머지를 제2 가중치 그룹(WGB)으로 분류할 수 있다. 가중치 그룹을 분류하는 기준은 이에 한정되는 것은 아니며 다양한 방법을 통해 중요도가 높은 가중치들을 추출할 수 있다.
공정 시뮬레이션 시스템은 재학습 단계(S730)에서 사전 학습 모델의 사전 학습 가중치(WG) 중 제2 가중치 그룹(WGB)에 대응되는 가중치 파라미터들을 0으로 초기화 할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 모델의 제1 특성(YS_1)을 추론하기 위해 사전 학습 가중치(WG) 중 제1 가중치 그룹(WGA)에 대응되는 가중치 파라미터들을 재학습 시킬 수 있다. 공정 시뮬레이션 시스템은 사전 학습 단계(S710)에서 학습한 시뮬레이션 데이터를 활용하여 제2 가중치 그룹(WGB)은 0으로 초기화한 상태에서 제1 가중치 그룹(WGA)에 대해서만 학습을 수행할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 모델의 제2 특성(YS_2)을 추론하기 위해 사전 학습 가중치(WG) 중 제2 가중치 그룹(WGB)에 대응되는 가중치 파라미터들을 재학습시킬 수 있다.
공정 시뮬레이션 시스템은 캘리브레이션 단계(S740)에서 실제 측정 데이터를 기초로 전이 학습 모델을 학습시킬 수 있다. 공정 시뮬레이션 시스템은 재학습 단계(S730)에서 재학습된 제1 특성(YS_1)에 대응되는 제1 가중치 그룹(WGA)의 데이터를 전이 학습 모델에 사용할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 모델이 추론하는 제1 특성(YS_1)과 전이 학습 모델이 추론하는 제1 보정 특성(YT_1)의 차이 및 사전 학습 모델이 추론하는 제2 특성(YS_2)에 대한 가중치들을 분석 및 조합하여 캘리브레이션 된 제2 보정 특성(YT_2)을 추론할 수 있다.
예를 들어, 전이 학습 모델 중 제1 전이 학습 모델은 제1 보정 특성(YT_1)을 추론하고, 제2 전이 학습 모델은 제2 보정 특성(YT_2)을 추론할 수 있다.
공정 시뮬레이션 시스템은 실제 측정 데이터를 학습한 전이 학습 모델과 시뮬레이션 데이터를 학습한 사전 학습 모델의 차이를 업데이트하여 시뮬레이션 데이터와 측정 데이터의 차이를 실시간으로 보정할 수 있다.
도 9은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델을 생성하는 방법을 설명하는 순서도이다.
공정 시뮬레이션 시스템은 공정 시뮬레이션 데이터를 기초로 사전 학습 모델을 학습시킬 수 있다(S110). 예를 들어, 공정 시뮬레이션 시스템은 공정 파라미터를 입력으로 도핑 프로파일을 출력하는 시뮬레이션 데이터를 학습할 수 있다. 공정 시뮬레이션 시스템은 공정 시뮬레이션 데이터를 학습하여 사전 학습 가중치를 생성할 수 있다. 공정 시뮬레이션 시스템은 사전 학습 모델을 통해 제1 도핑 프로파일을 추론할 수 있다.
공정 시뮬레이션 시스템은 시뮬레이션 데이터를 기초로 학습된 사전 학습 모델에 포함된 가중치 파라미터들을 중요도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류할 수 있다(S120). 예를 들어, 공정 시뮬레이션 시스템은 공정 시뮬레이션 학습 과정에서 제1 도핑 프로파일을 추론하는데 영향을 미치는 정도를 고려하여 가중치 파라미터들을 분류할 수 있으며, 가중치 값이 클수록 영향을 미치는 정도가 크다고 판단할 수 있다. 공정 시뮬레이션 시스템은 가중치 파라미터들의 값을 오름차순 또는 내림차순으로 정렬하고, 정렬된 데이터의 크기에 기초하여 제1 가중치 그룹과 제2 가중치 그룹을 분류할 수 있다. 예를 들어, 공정 시뮬레이션 시스템은 가중치 파라미터들의 크기가 큰 상위 10%를 제1 가중치 그룹으로 분류하고 나머지를 제2 가중치 그룹으로 분류할 수 있다.
공정 시뮬레이션 시스템은 시뮬레이션 데이터를 기초로 상기 사전 학습 모델의 상기 제1 가중치 그룹을 재학습 시킬 수 있다(S130). 공정 시뮬레이션 시스템은 사전 학습 단계에서 학습한 시뮬레이션 데이터를 활용하여 제2 가중치 그룹은 0으로 초기화한 상태에서 제1 가중치 그룹에 대해서만 학습을 수행할 수 있다.
공정 시뮬레이션 시스템은 측정 데이터를 기초로 전이 학습 모델의 상기 제2 가중치 그룹을 학습시킬 수 있다(S140). 공정 시뮬레이션 시스템은 재학습 단계(S130)에서 재학습된 제1 가중치 그룹의 데이터를 전이 학습 모델에 사용할 수 있다. 공정 시뮬레이션 시스템은 실제 측정 데이터를 기초로 전이 학습 모델의 제2 가중치 그룹에 대해서 학습을 수행할 수 있다. 공정 시뮬레이션 시스템은 제2 가중치 그룹의 가중치 파라미터들의 값에 대해 정규화 프로세스를 수행할 수 있다. 예를 들어, 공정 시뮬레이션 시스템은 제2 가중치 그룹의 가중치 파라미터들의 값이 기설정된 기준값 이상인 경우, 예외 또는 노이즈로 판단하고 해당 학습내용을 반영하지 않을 수 있다. 예를 들어, 정규화 프로세스는 기계학습 분야에서 활용되는 L1 정규화 또는 L2 정규화를 포함할 수 있다.
공정 시뮬레이션 시스템은 전이 학습 모델을 통해 제2 도핑 프로파일을 추론할 수 있다. 공정 시뮬레이션 시스템은 실제 측정 데이터를 학습한 전이 학습 모델과 시뮬레이션 데이터를 학습한 사전 학습 모델의 차이를 업데이트하여 시뮬레이션 데이터와 측정 데이터의 차이를 실시간으로 보정할 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 공정 시뮬레이션 모델을 생성하는 방법을 설명하는 순서도이다.
도 10을 참조하면, 공정 시뮬레이션 시스템에서 시뮬레이션 데이터가 많고, 실제 측정 데이터가 없는 경우, 관련된 다른 시뮬레이션 데이터 및 측정 데이터에서 학습하는 이중 귀납적 전이학습(Dual Inductive Transfer Learning)을 수행할 수 있다.
공정 시뮬레이션 시스템은 시뮬레이션 데이터를 기초로 제1 특성을 추론하는 제1 사전 학습 모델 및 제2 특성을 추론하는 제2 사전 학습 모델을 학습시킬 수 있다(S210). 공정 시뮬레이션 시스템은 제1 특성과 제2 특성의 공통점을 학습하는 공통 모델을 생성할 수 있다. 공정 시뮬레이션 시스템은 상기 공통 모델에서 파생된 상기 제1 특성을 추론하는 제1 사전 학습 모델 및 제2 특성을 추론하는 제2 사전 학습 모델을 생성할 수 있다. 예를 들어, 제1 사전 학습 모델, 제2 사전 학습 모델은 동일한 데이터를 기초로 학습된 공통 모델에서 파생된 학습 모델로, 추론 대상만을 달리하는 동일 모델일 수 있다. 공정 시뮬레이션 시스템은 공정 파라미터를 입력으로 도핑 프로파일 또는 전류 전압 특성을 출력하는 대량의 공정 시뮬레이션 데이터를 학습할 수 있다. 공정 시뮬레이션 시스템은 사전 학습 모델을 통해 도핑 프로파일, 전류 전압 특성 또는 그 외 특성들 중 적어도 하나의 데이터를 추론할 수 있다. 예를 들어, 추론하는 제1 특성은 전류 전압 특성이고, 제2 특성은 도핑 프로파일 일 수 있다.
공정 시뮬레이션 시스템은 공정 시뮬레이션 데이터를 학습하여 사전 학습 가중치를 생성할 수 있다. 공정 시뮬레이션 시스템은 제1 특성에 대응하는 제1 특성 가중치 및 제2 특성에 대응하는 제2 특성 가중치를 생성할 수 있다. 공정 시뮬레이션 시스템은 사전 학습 모델을 통해 제1 특성 및 제2 특성을 추론할 수 있다.
공정 시뮬레이션 시스템은 제1 사전 학습 모델에 포함된 가중치 파라미터들을 상기 제1 특성과 관련도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류할 수 있다(S220). 공정 시뮬레이션 시스템은 공정 시뮬레이션 학습 과정에서 제1 특성을 추론하는데 영향을 미치는 정도를 고려하여 가중치 파라미터들을 분류할 수 있다. 공정 시뮬레이션 시스템은 가중치 파라미터들을 분류하기 위해 마스크 배열을 이용할 수 있다.
공정 시뮬레이션 시스템은 가중치 파라미터들의 값을 오름차순 또는 내림차순으로 정렬하고, 정렬된 데이터의 크기에 기초하여 제1 가중치 그룹과 제2 가중치 그룹을 분류할 수 있다. 예를 들어, 공정 시뮬레이션 시스템은 가중치 파라미터들의 크기가 큰 상위 10%를 제1 가중치 그룹으로 분류하고 나머지를 제2 가중치 그룹으로 분류할 수 있다. 가중치 그룹을 분류하는 기준은 이에 한정되는 것은 아니며 다양한 방법을 통해 중요도가 높은 가중치들을 추출할 수 있다.
공정 시뮬레이션 시스템은 제2 가중치 그룹에 포함된 가중치 파라미터들을 초기화하고, 상기 제1 가중치 그룹 및 상기 시뮬레이션 데이터를 기초로 상기 제1 사전 학습 모델을 재학습시킬 수 있다(S230). 공정 시뮬레이션 시스템은 사전 학습 모델의 사전 학습 가중치 중 제2 가중치 그룹에 대응되는 가중치 파라미터들을 0으로 초기화 할 수 있다.
공정 시뮬레이션 시스템은 사전 학습 모델의 제1 특성을 추론하기 위해 사전 학습 가중치 중 제1 가중치 그룹에 대응되는 가중치 파라미터들을 재학습 시킬 수 있다. 공정 시뮬레이션 시스템은 사전 학습 단계(S210)에서 학습한 시뮬레이션 데이터를 활용하여 제2 가중치 그룹은 0으로 초기화한 상태에서 제1 가중치 그룹에 대해서만 학습을 수행할 수 있다.
공정 시뮬레이션 시스템은 제2 가중치 그룹 및 상기 시뮬레이션 데이터를 기초로 상기 제2 사전 학습 모델을 재학습시킬 수 있다(S240). 공정 시뮬레이션 시스템은 사전 학습 모델의 제2 특성을 추론하기 위해 사전 학습 가중치 중 제2 가중치 그룹에 대응되는 가중치 파라미터들을 재학습시킬 수 있다.
공정 시뮬레이션 시스템은 제1 가중치 그룹 및 상기 제1 특성에 대한 측정 데이터를 기초로 상기 제1 사전 학습 모델에 대응되는 제1 전이 학습 모델을 학습시킬 수 있다(S250). 공정 시뮬레이션 시스템은 실제 측정 데이터를 기초로 전이 학습 모델을 학습시킬 수 있다. 공정 시뮬레이션 시스템은 재학습 단계(S240)에서 재학습된 제1 특성에 대응되는 제1 가중치 그룹의 데이터를 전이 학습 모델에 사용할 수 있다.
공정 시뮬레이션 시스템은 제1 전이 학습 모델에 기초하여 상기 제2 사전 학습 모델에 대응되는 제2 전이 학습 모델을 학습시킬 수 있다(S260). 공정 시뮬레이션 시스템은 사전 학습 모델이 추론하는 제1 특성과 전이 학습 모델이 추론하는 제1 보정 특성의 차이 및 사전 학습 모델이 추론하는 제2 특성에 대한 가중치들을 분석 및 조합하여 캘리브레이션 된 제2 보정 특성을 추론할 수 있다.
예를 들어, 전이 학습 모델 중 제1 전이 학습 모델은 제1 보정 특성을 추론하고, 제2 전이 학습 모델은 제2 보정 특성을 추론할 수 있다.
공정 시뮬레이션 시스템은 실제 측정 데이터를 학습한 전이 학습 모델과 시뮬레이션 데이터를 학습한 사전 학습 모델의 차이를 업데이트하여 시뮬레이션 데이터와 측정 데이터의 차이를 실시간으로 보정할 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 집적 회로 및 이를 포함하는 장치를 나타내는 블록도이다.
장치(2000)는 집적 회로(1000) 및, 집적 회로(1000)에 연결되는 구성들, 예컨대 센서(1510), 디스플레이 장치(1610), 메모리(1710)를 포함할 수 있다. 장치(2000)는 뉴럴 네트워크 기반으로 데이터를 처리하는 장치일 수 있다. 예를 들어, 장치(2000)는 공정 시뮬레이터, 스마트 폰, 게임 장치, 웨어러블 장치 등과 같은 모바일 장치일 수 있다.
본 개시의 예시적 실시예에 따른 집적 회로(1000)는 CPU(1100), RAM(1200), GPU(1300), 뉴럴 프로세싱 유닛(1400), 센서 인터페이스(1500), 디스플레이 인터페이스(1600) 및 메모리 인터페이스(1700)를 포함할 수 있다. 이 외에도 집적 회로(1000)는 통신 모듈, DSP, 비디오 모듈 등 다른 범용적인 구성요소들을 더 포함할 수 있으며, 집적 회로(1000)의 각 구성(CPU(1100), RAM(1200), GPU(1300), 뉴럴 프로세싱 유닛(1400), 센서 인터페이스(1500), 디스플레이 인터페이스(1600) 및 메모리 인터페이스(1700))은 버스(1800)를 통해 서로 데이터를 송수신할 수 있다. 실시예에 있어서, 집적 회로(1000)는 애플리케이션 프로세서일 수 있다. 실시예에 있어서, 집적 회로(1000)는 시스템 온 칩(SoC)로서 구현될 수 있다.
CPU(1100)는 집적 회로(1000)의 전반적인 동작을 제어할 수 있다. CPU(1100)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. CPU(1100)는 메모리(1710)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 실시예에 있어서, CPU(1100)는 메모리(1710)에 저장된 프로그램들을 실행함으로써, 뉴럴 프로세싱 유닛(1400)의 기능을 제어할 수 있다.
RAM(1200)은 프로그램들, 데이터, 및/또는 명령들(instructions)을 일시적으로 저장할 수 있다. 실시 예에 따라, RAM(1200)은 DRAM 또는 SRAM으로 구현될 수 있다. RAM(1200)은 인터페이스들(1500, 1600)을 통해 입출력되거나, GPU(1300) 또는 CPU(1100)에서 생성되는 데이터, 예컨대 이미지 데이터를 일시적으로 저장할 수 있다.
실시예에 있어서, 집적 회로(1000)는 ROM(Read Only Memory)을 더 구비할 수 있다. ROM은 지속적으로 사용되는 프로그램들 및/또는 데이터를 저장할 수 있다. ROM은 EPROM(erasable programmable ROM) 또는 EEPROM(electrically erasable programmable ROM) 등으로 구현될 수 있다.
GPU(1300)는 영상 데이터에 대한 이미지 처리를 수행할 수 있다. 예컨대 GPU(1300)는 센서 인터페이스(1500)를 통해 수신되는 영상 데이터에 대한 이미지 처리를 수행할 수 있다. GPU(1300)에서 처리된 영상 데이터는 메모리(1710)에 저장되거나 또는 디스플레이 인터페이스(1600)를 통해 디스플레이 장치(1610)로 제공될 수 있다. 메모리(1710)에 저장된 영상 데이터는 뉴럴 프로세싱 유닛(1400)에 제공될 수 있다.
센서 인터페이스(1500)는 집적 회로(1000)에 연결되는 센서(1510)로부터 입력되는 데이터(예컨대, 영상 데이터, 음성 데이터 등)를 인터페이싱할 수 있다.
디스플레이 인터페이스(1600)는 디스플레이 장치(1610)로 출력되는 데이터(예컨대, 이미지)를 인터페이싱할 수 있다. 디스플레이 장치(1610)는 이미지 또는 영상에 대한 데이터를 LCD(Liquid-crystal display), AMOLED(active matrix organic light emitting diodes) 등의 디스플레이를 통해 출력할 수 있다.
메모리 인터페이스(1700)는 집적 회로(1000)의 외부에 있는 메모리(1710)로부터 입력되는 데이터 또는 메모리(1710)로 출력되는 데이터를 인터페이싱할 수 있다. 실시예에 따라, 메모리(1710)는 DRAM이나 SRAM 등의 휘발성 메모리 또는 ReRAM, PRAM 또는 NAND flash 등의 비휘발성 메모리로 구현될 수 있다. 메모리(1710)는 메모리 카드(MMC, eMMC, SD, micro SD) 등으로 구현될 수도 있다.
도 1에서 설명한 뉴럴 네트워크 장치(110)가 뉴럴 프로세싱 유닛(1400)으로서 적용될 수 있다. 뉴럴 프로세싱 유닛(1400)은 센서 인터페이스(1500)를 통해 센서(1510)로부터 공정 시뮬레이션 데이터 및 측정 데이터를 수신하고 학습되어 공정 시뮬레이션을 수행할 수 있다.
도 12은 본 개시의 예시적 실시예에 따른 뉴럴 네트워크 장치를 포함하는 시스템을 나타내는 블록도이다.
도 12을 참조하면, 시스템(3000)은 메인 프로세서(3100), 메모리(3200), 통신 모듈(3300), 뉴럴 네트워크 장치(3400) 및 시뮬레이션 모듈(3500)을 포함할 수 있다. 시스템(3000))의 구성들은 버스(3600)를 통해 서로 통신할 수 있다.
메인 프로세서(3100)는 시스템(3000)의 전반적인 동작을 제어할 수 있다. 일 예로서, 메인 프로세서(3100)는 중앙 프로세싱 유닛(Central Processing Unit; CPU)일 수 있다. 메인 프로세서(3100)는 하나의 코어(Single Core)를 포함하거나, 복수의 코어들(Multi-Core)을 포함할 수 있다. 메인 프로세서(3100)는 메모리(3200)에 저장된 프로그램들 및/또는 데이터를 처리 또는 실행할 수 있다. 예를 들어, 메인 프로세서(3100)는 메모리(3200)에 저장된 프로그램들을 실행함으로써 뉴럴 네트워크 장치(3400)가 뉴럴 네트워크를 구동하도록 제어하고, 또한 뉴럴 네트워크 장치(3400)가 귀납적 전이 학습을 통해 공정 시뮬레이션 모델을 생성하도록 제어할 수 있다.
통신 모듈(3300)은 외부 장치와 통신할 수 있는 다양한 유선 또는 무선 인터페이스를 구비할 수 있다. 통신 모듈(3300)은 서버로부터 학습된 타겟 뉴럴 네트워크를 수신할 수 있으며, 또한 강화 학습을 통하여 생성되는 센서 대응 네트워크를 수신할 수 있다. 통신 모듈(3300)은 유선 근거리통신망(Local Area Network; LAN), Wi-fi(Wireless Fidelity)와 같은 무선 근거리 통신망 (Wireless Local Area Network; WLAN), 블루투스(Bluetooth)와 같은 무선 개인 통신망(Wireless Personal Area Network; WPAN), 무선 USB (Wireless Universal Serial Bus), Zigbee, NFC (Near Field Communication), RFID (Radio-frequency identification), PLC(Power Line communication), 또는 3G (3rd Generation), 4G (4th Generation), LTE (Long Term Evolution) 등 이동 통신망(mobile cellular network)에 접속 가능한 통신 인터페이스 등을 포함할 수 있다.
시뮬레이션 모듈(3500)은 반도체 공정을 시뮬레이션하기 위해 다양한 종류의 입출력 데이터를 처리할 수 있다. 일 예로서, 시뮬레이션 모듈(3500)은 제조된 반도체를 측정하는 장비를 포함할 수 있으며, 측정된 실제 데이터를 뉴럴 네트워크 장치(3400)에 제공할 수 있다.
뉴럴 네트워크 장치(3400)는 시뮬레이션 모듈(3500)을 통해 생성되는 공정 데이터, 예컨대 공정 파라미터, 전류 전압 특성 및 도핑 프로파일들을 기초로 뉴럴 네트워크 연산을 수행할 수 있다. 도 1 내지 도 11을 참조하여 설명한 뉴럴 네트워크 장치(100)가 뉴럴 네트워크 장치(3400)로서 적용될 수 있다. 뉴럴 네트워크 장치(3400)는 가공된 데이터가 아닌 시뮬레이션 모듈(3500)로부터 수신되는 데이터를 가중치 값을 분류하여 학습된 귀납적 전이 학습 네트워크를 기초로 피처 맵을 생성하고, 피처 맵을 타겟 뉴럴 네트워크의 히든 레이어의 입력으로서 적용하여, 타겟 뉴럴 네트워크를 구동할 수 있다. 이에 따라, 시스템(3000)의 공정 시뮬레이션 데이터 처리 속도 및 정확도가 증가될 수 있다.
상기 본 실시예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시 예들이 개시되었다. 본 개시에서 사용된 모든 예들 또는 예시적인 용어(예들 들어, 등등)는 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다.

Claims (20)

  1. 대상에 대한 시뮬레이션 데이터 및 측정 데이터를 기초로 시뮬레이션 모델을 생성하는 방법으로서,
    상기 시뮬레이션 데이터를 기초로 학습된 사전 학습 모델에 포함된 가중치 파라미터들을 중요도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류하는 단계;
    상기 시뮬레이션 데이터를 기초로 상기 사전 학습 모델의 상기 제1 가중치 그룹을 재학습시키는 단계; 및
    상기 측정 데이터를 기초로 재학습된 상기 제1 가중치 그룹을 포함하는 전이 학습 모델의 상기 제2 가중치 그룹을 학습시키는 단계;를 포함하는 것을 특징으로 하는 방법.
  2. 제1 항에 있어서
    상기 가중치 파라미터들을 분류하는 단계는 상기 가중치 파라미터들의 크기에 기초하여, 상기 가중치 파라미터들로부터 상기 제1 가중치 그룹을 추출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1 항에 있어서,
    상기 가중치 파라미터들을 분류하는 단계는 상기 가중치 파라미터들의 크기를 기초로 오름차순 정렬하고, 정렬된 상기 가중치 파라미터들의 크기 변화량에 기초하여 기준 가중치를 생성하고, 상기 기준 가중치 이상인 가중치 파라미터들을 상기 제1 가중치 그룹으로 분류하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1 항에 있어서,
    상기 사전 학습 모델을 재학습시키는 단계는 상기 제1 가중치 그룹을 재학습시키기 전, 상기 제2 가중치 그룹에 포함된 가중치 파라미터들의 값을 초기화 시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제1 항에 있어서,
    상기 전이 학습 모델을 학습시키는 단계는 상기 사전 학습 모델에서 학습된 상기 제1 가중치 그룹의 가중치 파라미터들의 값은 유지하고, 상기 제2 가중치 그룹의 가중치 파라미터들을 학습시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제1 항에 있어서,
    상기 전이 학습 모델을 학습시키는 단계는 학습된 상기 제2 가중치 그룹의 가중치 파라미터들의 값을 정규화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제1 항에 있어서,
    상기 대상은 반도체 공정이고, 상기 시뮬레이션 데이터는 반도체 공정 파라미터들 및 상기 반도체 공정 파라미터들에 기초하여 제조된 반도체 소자의 특성 데이터 중 적어도 하나를 포함하고,
    상기 특성 데이터는 상기 반도체 소자의 도핑 프로파일 또는 전압-전류 특성 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  8. 제7 항에 있어서,
    상기 사전 학습 모델 또는 상기 전이 학습 모델은 상기 반도체 소자의 도핑 프로파일 또는 전압-전류 특성 중 적어도 하나를 추론하는 것을 특징으로 하는 방법.
  9. 제1 항에 있어서,
    상기 전이 학습 모델은 반도체 공정 파라미터들을 입력으로 반도체 소자의 전압-전류 특성을 추론하는 제1 전이 학습 모델 및 상기 반도체 소자의 도핑 프로파일을 추론하는 제2 전이 학습 모델을 포함하는 것을 특징으로 하는 방법.
  10. 제9 항에 있어서,
    상기 전이 학습 모델을 학습시키는 단계는 상기 제1 전이 학습 모델을 통해 상기 전압-전류 특성을 추론하고, 상기 사전 학습 모델과 상기 제1 전이 학습 모델의 차이에 기초하여 상기 제2 전이 학습 모델을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 대상에 대한 시뮬레이션 데이터 및 측정 데이터를 기초로 시뮬레이션 모델을 생성하는 방법으로서,
    시뮬레이션 데이터를 기초로 제1 특성과 제2 특성의 공통점을 학습하는 공통 모델을 생성하고, 상기 공통 모델을 기초로 상기 제1 특성을 추론하는 제1 사전 학습 모델 및 상기 제2 특성을 추론하는 제2 사전 학습 모델을 생성하는 단계;
    상기 제1 사전 학습 모델에 포함된 가중치 파라미터들을 상기 제1 특성과 관련도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류하는 단계;
    상기 제2 가중치 그룹에 포함된 가중치 파라미터들을 초기화하고, 상기 제1 가중치 그룹 및 상기 시뮬레이션 데이터를 기초로 상기 제1 사전 학습 모델 및 상기 제2 사전 학습 모델을 재학습시키는 단계;
    상기 제2 가중치 그룹 및 상기 시뮬레이션 데이터를 기초로 상기 제2 사전 학습 모델을 재학습시키는 단계;
    상기 제1 가중치 그룹 및 상기 제1 특성에 대한 측정 데이터를 기초로 상기 제1 사전 학습 모델에 대응되는 제1 전이 학습 모델을 학습시키는 단계; 및
    상기 제1 전이 학습 모델에 기초하여 상기 제2 사전 학습 모델에 대응되는 제2 전이 학습 모델을 학습시키는 단계;를 포함하는 것을 특징으로 하는 방법.
  12. 제11 항에 있어서,
    상기 가중치 파라미터들을 분류하는 단계는 상기 가중치 파라미터들의 크기에 기초하여, 상기 가중치 파라미터들로부터 상기 제1 가중치 그룹을 추출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제11 항에 있어서,
    상기 가중치 파라미터들을 분류하는 단계는 상기 가중치 파라미터들의 크기를 기초로 오름차순 정렬하고, 정렬된 상기 가중치 파라미터들의 크기 변화량에 기초하여 기준 가중치를 생성하고, 상기 기준 가중치 이상인 가중치 파라미터들을 상기 제1 가중치 그룹으로 분류하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제11 항에 있어서,
    상기 제1 전이 학습 모델을 학습시키는 단계는 상기 사전 학습 모델에서 학습된 상기 제1 가중치 그룹의 가중치 파라미터들의 값은 유지하고, 상기 제2 가중치 그룹의 가중치 파라미터들을 학습시키든 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제11 항에 있어서,
    상기 제1 전이 학습 모델을 학습시키는 단계는 학습된 상기 제2 가중치 그룹의 가중치 파라미터들의 값에 대해 과적합 방지를 위한 정규화를 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제11 항에 있어서,
    상기 시뮬레이션 데이터는 반도체 공정 파라미터들 및 상기 반도체 공정 파라미터들에 기초하여 생성된 반도체 소자의 특성 데이터 중 적어도 하나를 포함하고,
    상기 제1 특성은 상기 반도체 소자의 전압-전류 특성이고, 상기 제2 특성은 상기 반도체 소자의 도핑 프로파일인 것을 특징으로 하는 방법.
  17. 제11 항에 있어서,
    상기 제2 전이 학습 모델을 학습시키는 단계는, 상기 제1 사전 학습 모델과 상기 제1 전이 학습 모델의 가중치 파라미터의 변동 데이터 및 상기 제2 사전 학습 모델의 상기 제2 가중치 그룹에 기초하여 상기 제2 전이 학습 모델을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  18. 뉴럴 네트워크 장치에 있어서,
    뉴럴 네트워크 프로그램이 저장된 메모리;
    상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며,
    상기 프로세서는 상기 프로그램의 실행에 의해, 시뮬레이션 데이터를 기초로 학습된 사전 학습 모델에 포함된 가중치 파라미터들을 중요도에 따라 제1 가중치 그룹과 제2 가중치 그룹으로 분류하고, 상기 시뮬레이션 데이터를 기초로 상기 사전 학습 모델의 상기 제1 가중치 그룹을 재학습시키고, 측정 데이터를 기초로 재학습된 상기 제1 가중치 그룹을 포함하는 전이 학습 모델의 상기 제2 가중치 그룹을 학습시키는 것을 특징으로 하는 뉴럴 네트워크 장치.
  19. 제18 항에 있어서,
    상기 프로세서는 상기 가중치 파라미터들의 크기에 기초하여 상기 제1 가중치 그룹을 추출하는 것을 특징으로 하는 뉴럴 네트워크 장치.
  20. 제18 항에 있어서,
    상기 시뮬레이션 데이터는 반도체 공정 파라미터들 및 상기 반도체 공정 파라미터들에 기초하여 제조된 반도체 소자의 특성 데이터 중 적어도 하나를 포함하고,
    상기 특성 데이터는 상기 반도체 소자의 도핑 프로파일 또는 전압-전류 특성 중 적어도 하나를 포함하는 것을 특징으로 하는 뉴럴 네트워크 장치.

KR1020210095160A 2021-07-20 2021-07-20 공정 시뮬레이션 모델 생성 방법 및 장치 KR20230013995A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210095160A KR20230013995A (ko) 2021-07-20 2021-07-20 공정 시뮬레이션 모델 생성 방법 및 장치
US17/852,024 US20230025626A1 (en) 2021-07-20 2022-06-28 Method and apparatus for generating process simulation models
TW111127004A TW202324013A (zh) 2021-07-20 2022-07-19 基於目標的模擬資料與量測資料產生模擬模型的方法以及神經網路裝置
CN202210852931.9A CN115639756A (zh) 2021-07-20 2022-07-20 用于生成工艺仿真模型的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210095160A KR20230013995A (ko) 2021-07-20 2021-07-20 공정 시뮬레이션 모델 생성 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230013995A true KR20230013995A (ko) 2023-01-27

Family

ID=84940272

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210095160A KR20230013995A (ko) 2021-07-20 2021-07-20 공정 시뮬레이션 모델 생성 방법 및 장치

Country Status (4)

Country Link
US (1) US20230025626A1 (ko)
KR (1) KR20230013995A (ko)
CN (1) CN115639756A (ko)
TW (1) TW202324013A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116151174A (zh) * 2023-04-14 2023-05-23 四川省华盾防务科技股份有限公司 一种通用器件模型优化方法及系统

Also Published As

Publication number Publication date
US20230025626A1 (en) 2023-01-26
CN115639756A (zh) 2023-01-24
TW202324013A (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN110689109B (zh) 神经网络方法和装置
US20220335284A1 (en) Apparatus and method with neural network
CN109754066B (zh) 用于生成定点型神经网络的方法和装置
CN107730474B (zh) 图像处理方法、处理装置和处理设备
US20210004663A1 (en) Neural network device and method of quantizing parameters of neural network
US11915128B2 (en) Neural network circuit device, neural network processing method, and neural network execution program
CN112288086B (zh) 一种神经网络的训练方法、装置以及计算机设备
US20200151573A1 (en) Dynamic precision scaling at epoch granularity in neural networks
US11574198B2 (en) Apparatus and method with neural network implementation of domain adaptation
CN111209933A (zh) 基于神经网络和注意力机制的网络流量分类方法和装置
CN113298096B (zh) 训练零样本分类模型的方法、系统、电子设备及存储介质
KR20200144398A (ko) 클래스 증가 학습을 수행하는 장치 및 그의 동작 방법
WO2022012668A1 (zh) 一种训练集处理方法和装置
CN113065997B (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
WO2020243922A1 (en) Automatic machine learning policy network for parametric binary neural networks
US11853869B2 (en) Neural network apparatus and method of processing variable-resolution operation by the same
CN112668381A (zh) 用于识别图像的方法和设备
KR20210121946A (ko) 뉴럴 네트워크 양자화를 위한 방법 및 장치
US20230025626A1 (en) Method and apparatus for generating process simulation models
CN113435531B (zh) 零样本图像分类方法、系统、电子设备及存储介质
US20210174203A1 (en) Neural network device, operation method thereof, and neural network system including the same
CN114626500A (zh) 一种神经网络计算方法及相关设备
KR102581471B1 (ko) 분류를 위한 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
US20230021444A1 (en) Image processing device, processing method thereof, and image processing system including the image processing device
WO2023273934A1 (zh) 一种模型超参数的选择方法及相关装置