google.com, pub-9850333530125189, DIRECT, f08c47fec0942fa0 딥 러닝에 대해 알아야 할 5가지 중요한 기술
본문 바로가기
카테고리 없음

딥 러닝에 대해 알아야 할 5가지 중요한 기술

by ╰(*°▽°*)╯(¬_¬ ) 2022. 2. 27.
반응형

딥 러닝에 대해 알아야 할 5가지 중요한 기술

딥 러닝은 지난 몇 년 동안 매우 중요해진 인공 지능 및 머신 러닝 알고리즘 의 특정 유형인 심층 신경망 아키텍처를 사용하는 데이터 마이닝 프로세스입니다 . 딥 러닝 애플리케이션이 곧 당신의 삶에 영향을 미칠 것으로 예상됩니다. 딥 러닝 을 사용하면 명시적으로 프로그래밍하지 않고도 복잡한 작업을 완료하는 방법을 기계에 가르칠 수 있습니다. 인공지능 시대로 접어들고 있다그리고 기계 학습. 오늘날 인간이 하고 있는 많은 일을 기계가 하게 될 미래. 과거에는 문제를 해결하는 방법을 단계별로 컴퓨터에 명시적으로 프로그래밍해야 했습니다. 여기에는 많은 if-then 문, for 루프 및 논리 연산이 포함됩니다. 미래에 기계는 문제를 해결하는 방법을 스스로 가르칠 것입니다. 우리는 데이터를 제공하기만 하면 됩니다.

딥러닝을 통해 다양한 문제를 해결할 수 있는 기술에 대해 알아보겠습니다.

완전히 연결된 신경망

완전 연결된 피드포워드 신경망 은 대부분의 기본 신경망 애플리케이션에서 사용되는 표준 네트워크 아키텍처입니다.

완전 연결은 이전 계층의 각 뉴런이 다음 계층의 모든 뉴런에 연결되어 있음을 의미합니다. 그리고 피드포워드는 이전 레이어의 뉴런이 다음 레이어의 뉴런에만 연결된다는 것을 의미합니다. 신경망의 각 뉴런은 입력이 주어지면 뉴런의 출력을 변경하는 활성화 함수를 포함합니다. 이러한 활성화 기능은 다음과 같습니다.

선형 함수

-본질적으로 입력에 상수 값을 곱하는 직선입니다.

비선형 함수

-시그모이드 함수 - 0에서 1 사이의 S자 곡선입니다.

-쌍곡탄젠트(tanH) 함수 - -1 ~ +1 범위의 S자 곡선입니다.

-Rectified linear unit(ReLU) 함수 - 입력이 특정 값보다 작으면 0을 출력하고, 입력이 특정 값보다 크면 선형 배수를 출력하는 조각별 함수입니다.

각각의 활성화 함수는 장단점이 있으므로 각각이 해결하고자 하는 문제를 기반으로 심층 신경망의 다양한 계층에서 사용합니다. 비선형성은 심층 신경망이 복잡한 기능을 모델링할 수 있게 해주는 것입니다.

다양한 입력, 다양한 출력, 다양한 은닉층, 은닉층당 다양한 뉴런, 다양한 활성화 함수로 네트워크를 생성할 수 있습니다. 이러한 수많은 조합을 통해 광범위한 문제를 해결할 수 있는 다양하고 강력한 심층 신경망을 만들 수 있습니다. 각 은닉층에 더 많은 뉴런을 추가할수록 네트워크는 더 넓어집니다. 또한 더 많은 은닉층이 추가될수록 네트워크는 더 깊어집니다. 그러나 우리가 추가하는 각 뉴런은 복잡성을 증가시키고 따라서 신경망을 훈련하는 데 필요한 처리 능력을 증가시킵니다.

컨볼루션 신경망

CNN(Convolutional Neural Networks)은 이미지 분류와 같은 특정 작업을 위해 설계된 일종의 심층 신경망 아키텍처입니다. CNN은 동물 뇌의 시각 피질에 있는 뉴런의 조직에서 영감을 받았습니다. 결과적으로 이미지, 오디오 및 비디오와 같은 특정 유형의 데이터를 처리하는 데 유용한 몇 가지 매우 흥미로운 기능을 제공합니다.

CNN은 입력 레이어로 구성됩니다. 그러나 기본 이미지 처리의 경우 이 입력은 일반적으로 이미지의 픽셀에 해당하는 뉴런의 2차원 배열입니다. 또한 일반적으로 출력 뉴런의 1차원 집합인 출력 레이어를 포함합니다.CNN은 입력에 대해 이미지 처리를 수행하는 희소 연결된 컨볼루션 레이어의 조합을 사용합니다. 또한 네트워크의 후속 계층에 필요한 뉴런 수를 추가로 줄이기 위해 풀링 계층이라고 하는 다운 샘플링 계층이 포함되어 있습니다. 마지막으로 CNN은 일반적으로 풀링 계층을 출력 계층에 연결하는 하나 이상의 완전 연결 계층을 포함합니다.

컨볼루션은 이미지에서 작은 덩어리로 시각적 특징을 추출할 수 있는 기술입니다. 컨볼루션 계층의 각 뉴런은 이전 계층의 작은 뉴런 클러스터를 담당합니다.

여기에는 뉴런 클러스터를 결정하는 필터 또는 커널이 포함됩니다.

필터는 이미지에서 특정 유형의 특징을 감지하는 데 도움이 되도록 컨볼루션의 입력을 수학적으로 수정합니다. 수정되지 않은 이미지를 반환하고, 이미지를 흐리게 하고, 이미지를 선명하게 하고, 가장자리를 감지하는 등의 작업을 수행할 수 있습니다. 이는 원래 이미지 값에 회선 행렬을 곱하여 수행됩니다.

서브샘플링 또는 다운샘플링이라고도 하는 풀링은 가장 중요한 정보를 유지하면서 이전 컨볼루션 계층의 뉴런 수를 줄입니다. 수행할 수 있는 다양한 유형의 풀링이 있습니다. 예를 들어, 각 입력 뉴런의 평균, 합계 또는 최대값을 취합니다.

또한 이 아키텍처를 역전하여 디콘볼루션 신경망으로 알려진 것을 생성할 수도 있습니다. 이러한 네트워크는 컨볼루션 네트워크의 역을 수행합니다. 즉, 이미지를 가져와 예측 값으로 변환하는 대신 이러한 네트워크는 입력 값을 가져와서 대신 이미지를 생성하려고 시도합니다.

CNN은 이미지 인식, 이미지 처리, 이미지 분할, 비디오 분석 및 자연어 처리를 포함한 다양한 작업에 적합합니다.

순환 신경망

피드포워드 신경망과 달리 순환 신경망(RNN)은 입력 길이가 가변적인 데이터 시퀀스에서 효과적으로 작동할 수 있습니다.

이것은 RNN이 현재 예측을 위한 입력으로 이전 상태에 대한 지식을 사용하고 네트워크가 시간이 지남에 따라 숨겨진 상태를 통해 정보를 전파할 수 있도록 임의의 수의 단계에 대해 이 프로세스를 반복할 수 있음을 의미합니다. 이것은 본질적으로 신경망에 단기 기억을 제공하는 것과 같습니다. 이 기능을 통해 RNN은 시간이 지남에 따라 발생하는 일련의 데이터 작업에 매우 효과적입니다. 예를 들어 시계열 데이터(예: 주가 변동), 일련의 문자(예: 휴대폰에 입력되는 문자 스트림).

사람이 이미 입력한 이전 문자를 기반으로 입력할 가능성이 높은 다음 문자를 예측하기 위해 순환 신경망을 생성한다고 가정해 보겠습니다. 사용자가 방금 입력한 문자와 이전의 모든 문자가 다음 문자를 예측하는 데 중요합니다. 먼저 사용자가 문자 h를 입력하므로 네트워크는 hi를 예측하기 위한 이전 교육을 기반으로 다음 문자가 i라고 예측할 수 있습니다. 그런 다음 사용자가 문자 e를 입력하므로 네트워크는 훈련 데이터 세트에서 단어 hey가 자주 발생하기 때문에 다음 예측 y를 계산하기 위해 새 문자 e와 첫 번째 숨겨진 뉴런의 상태를 모두 사용합니다. 문자 l을 추가하면 단어 help를 예측할 수 있고 다른 l을 추가하면 문자 o를 예측할 수 있으며 이는 사용자가 입력하려는 단어인 hello와 일치합니다.

훈련 RNN의 일반적인 문제를 해결하는 데 도움이 되는 기본 RNN 아키텍처의 두 가지 변형은 Gated RNN과 LSTM(Long Short-Term Memory RNN)입니다. 이 두 변이 모두 시간 경과에 따른 시퀀스 예측을 돕기 위해 일종의 메모리를 사용합니다. Gated RNN과 LSTM의 주요 차이점은 Gated RNN에는 메모리를 제어하기 위한 두 개의 게이트가 있다는 것입니다: Update 게이트와 Reset 게이트, 반면 LSTM에는 입력 게이트, 출력 게이트 및 Forget 게이트의 세 가지 게이트가 있습니다. .

RNN은 시간이 지남에 따라 변경되는 데이터 시퀀스를 포함하는 애플리케이션에 적합합니다. 이러한 응용 프로그램에는 자연어 처리, 음성 인식, 언어 번역, 이미지 캡션, 대화 모델링 및 시각적 Q&A가 포함됩니다.

생성적 적대 네트워크

GAN(Generative Adversarial Network)은 Generator Network와 Discriminator Network의 두 가지 딥 러닝 신경망의 조합입니다. Generator Network는 합성 데이터를 생성하고 Discriminator Network는 보고 있는 데이터가 실제 데이터인지 합성 데이터인지 감지하려고 시도합니다.

이 두 네트워크는 서로를 이기기 위해 경쟁한다는 점에서 적입니다. Generator는 실제 데이터와 구별할 수 없는 합성 데이터를 생성하려고 하고 Discriminator는 가짜 데이터를 감지하는 데 점점 더 능숙해지기 위해 노력하고 있습니다. 예를 들어 합성 이미지를 생성하는 신경망을 만들고 싶다고 상상해 보십시오. 먼저 이미지 감지기 네트워크에 실제 이미지를 제공하는 데 사용할 수 있는 실제 이미지 라이브러리를 확보합니다. 다음으로 합성 이미지를 생성하기 위해 Image Generator 네트워크를 생성합니다. 이것은 일반적으로 디콘볼루션 신경망일 것입니다.

그런 다음 실제 이미지와 가짜 이미지를 감지하는 Image Detector 네트워크를 만듭니다. 이것은 일반적으로 합성곱 신경망일 것입니다. 처음에 생성기는 감지기를 속일 수 있는 이미지를 생성하는 방법을 배우면서 본질적으로 무작위 노이즈를 생성합니다. 또한 탐지기는 실제 이미지와 가짜 이미지를 예측할 때 대략 50/50의 정확도만 갖습니다. 그러나 각 훈련을 반복할 때마다 생성기는 실제 이미지를 생성하는 데 점점 더 좋아지고 탐지기는 가짜 이미지를 감지하는 데 점점 더 좋아집니다. 이러한 네트워크가 충분히 오랫동안 서로 경쟁하도록 두면 생성기가 실제 이미지에 가까운 가짜 이미지를 생성하기 시작합니다. Generative Adversarial Networks는 최근 몇 년 동안 상당한 인기를 얻었습니다. 일부 응용 프로그램에는 이미지 생성, 이미지 향상,

심층 강화 학습

강화 학습에는 환경과 상호 작용하는 에이전트가 포함됩니다. 에이전트는 환경 내에서 어떤 종류의 목표를 달성하려고 합니다. 환경에는 에이전트가 관찰할 수 있는 상태가 있습니다. 에이전트는 환경 상태를 수정하는 조치를 취하고 어떤 종류의 목표를 달성하면 보상 신호를 받습니다. 에이전트의 목표는 목표를 달성할 수 있도록 환경과 상호 작용하는 방법을 배우는 것입니다.

심층 강화 학습은 강화 학습을 적용하여 심층 신경망을 훈련하는 것입니다. 이전의 심층 신경망과 마찬가지로 입력 레이어, 출력 레이어 및 여러 개의 은닉 레이어가 있습니다. 그러나 우리의 입력은 환경의 상태입니다. 예를 들어, 승객을 목적지까지 데려다 주려는 자동차의 입력은 위치, 속도 및 방향입니다. 우리의 출력은 속도를 높이거나, 낮추거나, 좌회전 또는 우회전과 같은 일련의 가능한 작업입니다. 또한 특정 환경 상태에서 긍정적인 결과를 생성하는 작업을 연관시키는 방법을 배울 수 있도록 보상 신호를 네트워크에 제공합니다. 이 심층 신경망은 현재 환경 상태를 고려하여 각 작업에 대해 예상되는 미래 보상을 예측하려고 시도합니다. 그런 다음 어떤 작업을 선택합니다.

심층 강화 학습 응용 프로그램의 몇 가지 예는 체스와 같은 보드 게임과 포커와 같은 카드 게임을 포함한 게임입니다. 자율주행차, 자율주행 드론과 같은 자율주행 차량. 로봇에게 걷는 법과 수동 작업 수행 방법을 가르치는 것과 같은 로봇 공학. 재고 관리, 자원 할당 및 물류를 포함한 관리 업무 투자 결정, 포트폴리오 설계 및 자산 가격 책정을 포함한 재무 작업.

이 딥 러닝 튜토리얼 이 귀중한 정보를 배우고 다양한 딥 러닝 기술에 대한 아이디어를 얻는 데 도움이 되었기를 바랍니다. 각각의 기술은 나름대로 유용하며 매일 다양한 분야에서 실용화되고 있습니다. 이 정보를 잘 활용하시길 바랍니다.

댓글