인공 신경망 또는 ANN으로도 불리는 신경망은 인간의 뇌와 유사한 계층 구조의 상호연결된 노드 또는 뉴런을 사용하여 학습하는 적응형 시스템입니다. 신경망은 데이터로부터 학습할 수 있기 때문에 패턴을 인식하고 데이터를 분류하고 미래의 이벤트를 예측하도록 훈련시킬 수 있습니다. 신경망은 입력을 추상화 계층으로 나눕니다. 여러 예제를 사용한 훈련을 통해 인간의 뇌처럼 음성이나 영상의 패턴을 인식할 수 있습니다. 신경망의 동작은 개별 요소가 연결되는 방식 및 이러한 연결의 강도 또는 가중치에 의해 정의됩니다. 이러한 가중치는 지정된 학습 규칙에 따라 인공 신경망이 원하는 작업을 올바로 수행할 때까지 훈련 중에 자동으로 조정됩니다.
신경망은 어떤 용도로 사용될까요?
신경망은 인간의 뇌에서 뉴런이 서로 신호를 주고받는 방식에서 영감을 받은 일종의 머신러닝 접근법입니다. 신경망은 비선형 관계를 모델링하기에 특히 적합하며, 통상적으로 음성, 비전 및 제어 시스템에서 패턴 인식을 수행하고 객체나 신호를 분류하는 데 사용됩니다.
신경망 중 특히 심층 신경망은 얼굴 인식, 텍스트 번역, 음성 인식 같은 복잡한 식별 응용 사례에서 우수한 능력을 발휘하는 것으로 알려졌습니다. 이러한 접근법은 차선 분류 및 교통 표지판 인식 등 첨단 운전자 보조 시스템 및 작업에서의 혁신을 주도하는 핵심 기술입니다.
신경망의 예
머신러닝 응용 분야에서 신경망이 사용되는 몇 가지 예는 다음과 같습니다.
- 영상 및 비디오의 의미론적 분할
- 보행자, 자전거 운전자 등 영상 내 객체 검출
- 강화 학습을 사용하여 이족 보행 로봇에게 보행 훈련시키기
- 병리학자의 종양 분류 작업을 안내하여 암 검출하기
- 이외 다수
신경망은 어떻게 작동할까요?
신경망은 생물 신경계에서 영감을 받아 병렬로 동작하는 단순 요소를 사용하여 여러 처리 계층을 결합합니다. 신경망은 1개의 입력 계층, 1개 이상의 은닉 계층, 1개의 출력 계층으로 구성됩니다. 각 계층에는 여러 노드 또는 뉴런이 있으며, 각 계층의 노드는 이전 계층의 모든 노드에서 전달되는 출력을 입력으로서 사용하므로 모든 뉴런은 서로 다른 계층을 통해 상호연결됩니다. 각 뉴런에는 일반적으로 가중치가 할당되며, 가중치는 학습 과정에서 조정됩니다. 가중치가 증가하거나 감소하면 해당 뉴런의 신호 강도도 변경됩니다.
다른 머신러닝 알고리즘과 마찬가지로, 신경망은 분류 또는 회귀 작업에 사용할 수 있습니다. 모델 파라미터는 훈련 데이터를 학습하여 신경망에 가중치를 부여하는 방식으로, 일반적으로는 가중치를 최적화하여 예측 오차를 최소화하는 방식을 통해 설정됩니다.
신경망의 유형
최초이자 가장 단순한 신경망은 1958년 Frank Rosenblatt이 제시한 퍼셉트론이었습니다. 퍼셉트론은 단일 뉴런으로 구성되었고, 사실상 시그모이드 활성화 함수가 적용된 선형 회귀 모델이었습니다. 그 이후로 점점 더 복잡한 신경망에 대한 연구가 진행되었으며, 최근에는 수백 개의 계층이 포함될 수 있는 심층 신경망으로 발전했습니다.
딥러닝이란 여러 계층으로 구성된 신경망을 가리키며, 반면에 2~3개 계층에서만 뉴런이 연결된 신경망은 얕은 신경망이라고 하기도 합니다. 딥러닝은 영상으로부터 특징을 추출할 필요가 없어서 널리 사용되었는데, 특징 추출은 과거에 영상과 신호 처리에 머신러닝을 적용할 때 걸림돌이 되었습니다. 영상 처리 응용 분야에서는 특징 추출을 생략할 수 있지만, 신호 처리 작업에서는 모델 정확도 향상을 위해 일부 형태의 특징 추출이 아직까지 흔히 쓰이고 있습니다.
엔지니어링 응용 분야에서 사용되는 세 가지의 일반적인 신경망 유형은 다음과 같습니다.
- 피드포워드 신경망: 입력 계층 1개, 은닉 계층 1개 이상, 출력 계층 1개로 구성됩니다. (일반적인 얕은 신경망)
- CNN (컨벌루션 신경망): 영상 처리에 널리 적용되는 심층 신경망 아키텍처이며, 가중치를 공유하는 노드로 입력 전반에서 윈도우를 시프트하는 컨벌루션 계층을 통해 입력(일반적으로 영상)을 특징 맵으로 추상화한다는 특징이 있습니다. SqueezeNet이나 GoogLeNet 같은 사전 훈련된 CNN 신경망을 사용할 수 있습니다.
- RNN (순환 신경망): 시계열, 센서 및 텍스트 데이터 같은 입력의 순차적 종속성을 모델링하는 피드백 루프를 가진 신경망 아키텍처로, 가장 널리 사용되는 RNN 유형은 LSTM(장단기 기억) 신경망입니다.
CNN은 어떻게 작동할까요?
이 짧은 비디오에서 계층, 활성화, 분류를 포함한 CNN의 세부 사항을 볼 수 있습니다.
딥러닝에 대해 자세히 알아보기:
MATLAB으로 어떻게 신경망을 생성할 수 있을까요?
MATLAB®과 함께 Deep Learning Toolbox™ 및 Statistics and Machine Learning Toolbox™를 사용하여 컴퓨터 비전과 자율주행 등의 응용 사례를 위한 심층 신경망 및 얕은 신경망을 만들 수 있습니다.
단 몇 줄의 코드로 전문가가 아니어도 MATLAB에서 신경망을 만들 수 있습니다. 빠르게 생성을 시작하여 신경망 모델을 훈련 및 시각화하고, 신경망을 기존 시스템에 통합해서 서버, 엔터프라이즈 시스템, 클러스터, 클라우드, 임베디드 기기에 배포할 수 있습니다.
신경망으로 시스템을 구축하는 일반적 워크플로
신경망을 비롯하여 AI 응용 사례를 개발하는 것은 통상적으로 다음과 같은 단계를 수반합니다.
- 데이터 준비
- 충분한 레이블 지정 훈련 데이터 확보. 심층 신경망의 경우 필요한 데이터는 훨씬 더 많아집니다. 영상, 비디오, 신호에 레이블을 지정하는 레이블 지정기 앱을 사용하면 이 과정을 신속하게 처리할 수 있습니다.
- 시뮬레이션을 사용한 훈련 데이터 생성. 특히 실제 시스템으로부터 데이터를 수집하기가 실용적이지 않은 경우(결함 조건) 더욱 그렇습니다.
- 훈련 데이터에 더 많은 변동성을 표현하기 위해 데이터 증대.
- AI 모델링
- Statistics and Machine Learning Toolbox의 분류 및 회귀 학습기에서 얕은 신경망을 대화형 방식으로 훈련 또는 명령줄 함수 사용. 이는 얕은 신경망의 성능을 결정 트리나 SVM 같은 기존의 다른 머신러닝 알고리즘과 비교해야 하거나 레이블이 지정된 훈련 데이터만 제한적으로 사용할 수 있는 경우에 권장됩니다.
- Deep Learning Toolbox의 심층 신경망 디자이너 또는 명령줄 함수를 사용하여 신경망(얕은 신경망 또는 심층 신경망)을 대화형 방식으로 지정 및 훈련. 이는 심층 신경망에 특히 적합하고 신경망 아키텍처와 솔버를 보다 유연하게 사용자 지정해야 하는 경우에도 유용합니다.
- 시뮬레이션 및 테스트
- Simulink® 모델의 신경망을 블록으로 통합. 이를 통해 더 큰 시스템과의 통합, 테스트, 다양한 하드웨어 유형으로의 배포를 편리하게 수행할 수 있습니다.
- 배포
- Statistics and Machine Learning Toolbox에서 훈련된 얕은 신경망으로부터 C/C++ 코드를 생성하여 임베디드 하드웨어 및 고성능 컴퓨팅 시스템으로 배포.
- GPU 및 기타 유형의 산업용 하드웨어(ARM, FPGA)에서 추론을 빠르게 수행할 수 있도록 Deep Learning Toolbox에서 훈련된 신경망으로부터 최적화된 CUDA® 및 C/C++ 코드 생성.
MATLAB을 사용한 딥러닝
딥러닝에 대한 MATLAB의 지원에 대해 알아볼 수 있습니다.
튜토리얼 및 예제
MATLAB으로 딥러닝을 시작할 수 있습니다.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)