인공 신경망(ANN)의 전체 개요
게시 됨: 2020-07-17데이터 과학이나 소프트웨어 엔지니어링 분야에서 일하지 않더라도 인공 신경망이라는 용어 앞에 서는 것을 피하기가 어렵습니다.
인공 신경망(ANN)은 어디에나 있습니다. 그들은 챗봇, 의료 영상, 미디어 계획 및 기타 수많은 영역에서 사용됩니다. 그러나 우리는 깊은 호기심을 가지고 질문했습니다. 인공 신경망이란 무엇이며 실제로 무엇을 달성할 수 있습니까?
우리는 모두 인공 신경망이 인간 신경 시스템의 기능을 복제한다는 공통된 정의를 접했습니다. 이것이 작동 원리를 설명하지만 우리 대부분은 여전히 ANN을 그렇게 특별하게 만드는 요인이나 이상적인 문제 세트를 모릅니다. 공기를 맑게 하기 위해 인공 신경망에서 찾을 수 있는 가장 포괄적이면서도 접근 가능한 가이드가 있습니다.
인공 신경망이란 무엇입니까?
인공 지능, 머신 러닝, 딥 러닝, 신경망과 같은 12가지 용어가 있으면 혼동하기 쉽습니다. 이러한 수직선 간의 실제 분기는 그렇게 복잡하지 않습니다.
AI는 당면한 주제인 보편적인 집합입니다. 지능형 프로그램이 어떻게 작동하고 만들어지는지에 대한 체계적인 연구입니다. 기계 학습은 기계가 스스로 학습하는 방법에 중점을 둔 AI의 하위 집합입니다. 딥 러닝은 신경망 계층을 사용하여 출력을 생성하는 방법에 중점을 둔 ML의 추가 하위 집합입니다. 이 시각화를 사용하여 계층 구조를 탐색할 수 있습니다.

그렇다면 인공신경망이란 무엇일까요? 대답은 대중 매체가 그것을 선전하는 방법입니다. 대규모 데이터 세트에서 비선형 관계를 풀기 위해 신경 시스템을 복제하는 데이터 처리 및 출력 생성 시스템입니다. 데이터는 감각 경로에서 올 수 있으며 텍스트, 그림 또는 오디오 형식일 수 있습니다.
인공 신경망이 어떻게 작동하는지 이해하는 가장 좋은 방법은 뇌 내부의 자연 신경망이 어떻게 작동하는지 이해하고 이들 사이에 평행선을 그리는 것입니다. 뉴런은 인간 두뇌의 기본 구성 요소이며 우리가 알고 있는 지식과 정보를 학습하고 유지하는 역할을 합니다. 뇌의 처리 단위라고 생각할 수 있습니다. 감각 데이터를 입력으로 받아 처리하고 다른 뉴런에서 사용하는 출력 데이터를 제공합니다. 정보는 결정적인 결과에 도달할 때까지 처리되고 전달됩니다.
뇌의 기본 신경망은 시냅스로 연결됩니다. 두 뉴런을 연결하는 다리의 끝 노드로 시각화할 수 있습니다. 따라서 시냅스는 두 개의 뉴런이 만나는 지점입니다. 시냅스의 강도가 이해의 깊이와 정보 보유를 결정하기 때문에 시냅스는 이 시스템의 중요한 부분입니다.
활동을 수행할 때 이러한 시냅스 관계가 강화됩니다. 다음은 뇌의 신경망을 시각화하는 방법입니다.
뇌가 실시간으로 수집하는 모든 감각 데이터는 이러한 신경망을 통해 처리됩니다. 시스템에 시작점이 있습니다. 그리고 초기 뉴런에서 처리되면서 한 뉴런에서 나오는 처리된 형태의 전기 신호가 다른 뉴런의 입력이 됩니다. 뉴런의 각 계층에서 이러한 미시 정보 처리는 이 네트워크를 효율적으로 만드는 것입니다. 신경망에서 데이터를 처리하는 이 되풀이되는 주제를 복제함으로써 ANN은 우수한 출력을 생성할 수 있습니다.
ANN에서는 모든 것이 바로 이 프로세스를 복제하도록 설계되었습니다. 수학 방정식에 대해 걱정하지 마십시오. 그것은 지금 이해해야 할 핵심 아이디어가 아닙니다. 시스템에 레이블 'X'로 입력되는 모든 데이터는 가중 신호를 생성하기 위해 'W'의 가중치를 갖습니다. 이것은 뇌에서 시냅스 신호의 강도 역할을 복제합니다. 바이어스 변수는 함수의 출력 결과를 제어하기 위해 연결됩니다.
따라서 이 모든 데이터는 함수에서 처리되고 출력으로 끝납니다. 이것이 단층 신경망 또는 퍼셉트론의 모습입니다. 인공 신경망의 아이디어는 더 강력한 출력을 얻기 위해 이러한 인공 뉴런의 여러 조합을 연결하는 것입니다. 이것이 일반적인 인공 신경망의 개념적 프레임워크가 다음과 같이 보이는 이유입니다.
인공 신경망이 어떻게 작동하는지 자세히 알아보면서 곧 은닉층을 정의할 것입니다. 그러나 인공 신경망에 대한 기본적인 이해에 관한 한, 이제 첫 번째 원칙을 알게 되었습니다.
이 메커니즘은 큰 데이터 세트를 해독하는 데 사용됩니다. 출력은 일반적으로 예측에 사용할 수 있는 입력으로 입력된 변수 간에 인과 관계가 설정되는 경향이 있습니다. 이제 프로세스를 알았으므로 여기에서 기술적인 정의를 충분히 이해할 수 있습니다.
"감각 데이터에서 학습, 해석 및 분류하는 패턴 인식 컴퓨터 알고리즘을 통해 인공 신경 시스템을 생성하여 인간 두뇌를 모델로 한 네트워크입니다."
인공 신경망은 어떻게 작동하고 학습합니까?
긴장을 풀고 여기에서 상황이 흥미로워질 것입니다. 그리고 걱정하지 마십시오. 지금 당장 많은 수학을 할 필요가 없습니다.
마술은 활성화 함수에서 먼저 발생합니다. 활성화 함수는 뉴런의 활성화 여부를 결정하기 위해 초기 처리를 수행합니다. 뉴런이 활성화되지 않은 경우 출력은 입력과 동일합니다. 아무 일도 일어나지 않습니다. 이것은 신경망에서 매우 중요합니다. 그렇지 않으면 시스템은 출력에 영향을 미치지 않는 수많은 정보를 처리해야 합니다. 알다시피, 뇌는 제한된 용량을 가지고 있지만 그것을 최대한 활용하도록 최적화되어 있습니다.
모든 인공 신경망에서 공통적인 한 가지 핵심 속성은 비선형성 개념입니다. 연구되는 대부분의 변수는 실생활에서 비선형 관계를 가지고 있습니다.
예를 들어 초콜릿의 가격과 초콜릿의 수를 생각해 보십시오. 초콜릿 하나의 가격이 1달러라고 가정합니다. 초콜릿 100개는 얼마입니까? 아마 $100. 초콜릿 10,000개는 얼마입니까? 10,000달러가 아닙니다. 판매자가 모든 초콜릿을 함께 넣기 위해 추가 포장을 사용하는 비용을 추가하거나 한 번에 너무 많은 재고를 그녀의 손에서 옮기기 때문에 비용을 줄일 것이기 때문입니다. 이것이 비선형성의 개념입니다.
활성화 함수는 기본 수학적 원리를 사용하여 정보를 처리할지 여부를 결정합니다. 활성화 함수의 가장 일반적인 형태는 이진 단계 함수, 로지스틱 함수, 쌍곡선 접선 함수 및 수정된 선형 단위입니다. 다음은 이들 각각에 대한 기본 정의입니다.
- 이진 단계 함수: 이 함수는 임계값을 기준으로 뉴런을 활성화합니다. 함수의 최종 결과가 벤치마크된 값보다 높거나 낮으면 뉴런이 활성화됩니다.
- 로지스틱 함수: 이 함수는 'S' 곡선 형태의 수학적 최종 결과를 가지며 확률이 뉴런이 활성화되어야 하는지 여부를 결정하는 주요 기준일 때 사용됩니다. 따라서 언제든지 이 곡선의 기울기를 계산할 수 있습니다. 이 함수의 값은 0과 1 사이에 있습니다.
기울기는 미분 함수를 사용하여 계산됩니다. 이 개념은 두 변수가 선형 관계를 갖지 않을 때 사용됩니다. 기울기는 비선형성이 시작되는 정확한 지점에서 곡선에 접하는 접선의 값입니다. 로지스틱 함수의 문제는 음수 값을 가진 정보를 처리하는 데 좋지 않다는 것입니다. - 쌍곡선 탄젠트 함수: 값이 -1과 +1 사이에 있다는 점을 제외하고는 로지스틱 함수와 매우 유사합니다. 따라서 네트워크에서 처리되지 않는 음수 값의 문제가 사라집니다.
- 정류 선형 단위(ReLu): 이 함수의 값은 0과 양의 무한대 사이에 있습니다. ReLu는 몇 가지를 단순화합니다. 입력이 양수이면 'x' 값을 제공합니다. 다른 모든 입력의 경우 값은 '0'입니다. 음의 무한대와 양의 무한대 사이의 값을 갖는 Leaky ReLu를 사용할 수 있습니다. 처리 중인 변수 간의 관계가 매우 약하고 활성화 함수에서 완전히 생략될 수 있는 경우에 사용됩니다.
이제 퍼셉트론과 신경망의 동일한 두 다이어그램을 참조할 수 있습니다. 뉴런의 수를 제외하고 차이점은 무엇입니까? 주요 차이점은 숨겨진 레이어입니다. 은닉층은 신경망에서 입력층과 출력층 사이에 위치합니다. 은닉층의 역할은 처리를 개선하고 출력에 큰 영향을 미치지 않는 변수를 제거하는 것입니다.
입력 변수 값의 변경이 출력 변수에 미치는 영향이 눈에 띄는 데이터 세트의 인스턴스 수인 경우 은닉층에 해당 관계가 표시됩니다. 숨겨진 레이어를 사용하면 ANN이 다음 처리 레이어에 더 강력한 신호를 쉽게 전달할 수 있습니다.
이 모든 수학을 수행하고 은닉층이 어떻게 작동하는지 이해한 후에도 인공 신경망이 실제로 어떻게 학습하는지 궁금할 것입니다. 학습이란 무엇인가에 대한 기본적인 질문부터 시작하겠습니다. 가장 간단한 용어로 학습은 두 가지(활동, 프로세스, 변수 등) 간의 인과 관계를 설정하는 것입니다. 커브를 던지는 방법을 '배우는' 경우 공을 특정 방향으로 던지는 물리적 동작과 공의 궤적을 특정 방향으로 휘게 하는 것 사이에 인과 관계를 설정하는 것입니다.

이제 이 인과관계를 확립하기가 매우 어렵습니다. 상관관계가 인과관계와 같지 않다는 말을 기억하십니까? 두 변수가 같은 방향으로 움직일 때를 결정하는 것은 매우 쉽습니다. 어떤 변수가 어떤 변수의 움직임을 일으키고 있는지 절대적으로 확실하게 말하기는 매우 어렵습니다. 분명히, 우리는 종종 이것을 직관적으로 설정할 수 있습니다. 하지만 알고리즘이 직관을 이해하게 하려면 어떻게 해야 할까요?
비용 함수를 사용합니다. 수학적으로 데이터 세트의 실제 값과 데이터 세트의 출력 값 사이의 제곱 차이입니다. 오류의 정도도 고려할 수 있습니다. 때때로 차이가 음수일 수 있기 때문에 제곱합니다.
비용 함수를 사용하여 입력에서 출력까지 처리의 각 주기를 브랜드화할 수 있습니다. 귀하와 ANN의 임무는 비용 함수를 가능한 가장 낮은 값으로 최소화하는 것입니다. ANN에서 가중치를 조정하여 이를 달성합니다. (시냅스 관계, 일명 가중치를 기억합니까? 그것이 우리가 말하는 것입니다). 이를 수행하는 방법에는 여러 가지가 있지만 원리를 이해하는 한 다른 도구를 사용하여 실행하면 됩니다.
각 주기에서 비용 함수를 최소화하는 것을 목표로 합니다. 입력에서 출력으로 가는 과정을 순전파라고 합니다. 그리고 출력 데이터를 이용하여 마지막 은닉층부터 입력층까지 역순으로 가중치를 조절하여 비용함수를 최소화하는 과정을 역전파라고 한다.
데이터 세트가 너무 클 때 비효율적으로 렌더링하는 Brute Force 방법이나 최적화 알고리즘인 Batch-Gradient Descent를 사용하여 이러한 가중치를 계속 조정할 수 있습니다. 이제 인공 신경망이 학습하는 방법을 직관적으로 이해할 수 있습니다.
순환 신경망(RNN) 대 합성곱 신경망(CNN)
이 두 가지 형태의 신경망을 이해하면 AI 애플리케이션의 두 가지 측면인 컴퓨터 비전과 자연어 처리에 대한 소개가 될 수도 있습니다. 가장 간단한 형태로, AI의 이 두 가지 분기는 기계가 시각적으로 객체를 식별하고 언어 데이터의 컨텍스트를 이해하는 데 도움이 됩니다. 상상할 수 있듯이 이미 자율주행차와 Siri와 같은 가상 비서에서 이러한 분기의 응용 프로그램을 사용하고 있습니다.
이제 이러한 각 분기에는 자체적으로 설정된 신경망이 있습니다. NLP는 순환 신경망에 크게 의존합니다. RNN과 ANN의 차이점은 ANN에서 각 입력 신호는 다음 입력 신호와 독립적으로 간주된다는 것입니다. 따라서 두 노드 사이에 존재하는 입력 데이터 자체는 아무런 관계가 없습니다.
실제로는 그렇지 않습니다. 우리가 의사 소통을 할 때 각 단어는 다음 단어에 대한 문맥상의 방법을 지웁니다. 따라서 언어의 근본적인 특성은 먼저 입력된 정보와 나중에 입력되는 정보 사이에 상호 의존성을 생성한다는 것입니다. RNN은 컨텍스트를 지우기 위해 이러한 입력 간의 관계를 설정하는 병렬 메모리를 실행하여 이에 민감합니다.
합성곱 신경망 은 컴퓨터 비전에 이상적으로 사용됩니다. 일반적으로 사용되는 활성화 함수 외에도 풀링 함수와 컨볼루션 함수를 추가합니다. 더 간단한 용어로 컨볼루션 함수는 한 이미지의 입력과 두 번째 이미지(필터)의 입력이 어떻게 세 번째 이미지(결과)를 생성하는지 보여줍니다. 결과 이미지(변경된 픽셀 값)를 얻기 위해 입력 이미지(원래 픽셀 값 집합) 위에 있는 필터링된 이미지(새로운 픽셀 값 집합)로 시각화하여 이를 상상할 수 있습니다.
풀링 함수는 이 정보 집합에 대한 처리를 쉽게 하기 위해 추가된 함수에 따라 최대값 또는 최소값을 취합니다. 시각화하는 방법은 다음과 같습니다.


풀링 기능
인공 신경망의 5가지 응용
우리가 지금까지 이야기한 것은 모두 내부에서 진행되고 있는 것이었습니다. 이제 축소하여 이러한 ANN이 작동하는 모습을 보고 진화하는 세상과의 유대를 충분히 이해할 수 있습니다.
1. 전자상거래 플랫폼에 대한 개인화 추천
ANN의 초기 응용 프로그램 중 하나는 각 사용자에 대한 전자 상거래 플랫폼 경험을 개인화하는 것이었습니다. Netflix에서 정말 효과적인 추천을 기억하십니까? 아니면 딱 맞는 제품 제안 아마존? 그것들은 ANN의 결과입니다.
여기에는 수많은 데이터가 사용됩니다. 과거 구매, 인구통계학적 데이터, 지리적 데이터, 같은 제품을 구매한 사람들이 다음에 무엇을 구매했는지 보여주는 데이터입니다. 이 모든 것이 당신에게 효과가 있는 것을 결정하기 위한 입력 역할을 합니다. 동시에 실제로 구매하는 것이 알고리즘을 최적화하는 데 도움이 됩니다. 구매할 때마다 회사와 ANN에 권한을 부여하는 알고리즘이 풍부해집니다. 동시에 플랫폼에서 새로 구매할 때마다 올바른 제품을 추천하는 알고리즘의 능력도 향상됩니다.
2. 대화형 챗봇을 위한 자연어 처리 활용
얼마 전, 챗박스는 웹사이트에서 인기를 끌기 시작했습니다. 상담원이 한쪽에 앉아서 상자에 입력한 쿼리를 도와줍니다. 그러다가 챗봇에 자연어 처리(NLP)라는 현상이 도입되면서 모든 것이 달라졌다.
NLP는 일반적으로 통계 규칙을 사용하여 인간의 언어 능력을 복제하며 다른 ANN 애플리케이션과 마찬가지로 시간이 지남에 따라 더 좋아집니다. 구두점, 억양 및 발음, 문법 선택, 구문 선택, 단어 및 문장 순서, 선택한 언어까지도 NLP 알고리즘을 훈련하기 위한 입력으로 사용할 수 있습니다.
챗봇은 이러한 입력을 사용하여 쿼리 컨텍스트를 이해하고 스타일에 가장 적합한 방식으로 답변을 공식화함으로써 대화형이 됩니다. 동일한 NLP가 음악 및 보안 검증 목적의 오디오 편집에도 사용됩니다.
3. 유명 이벤트의 결과 예측
우리 대부분은 FIFA 월드컵뿐만 아니라 대선 기간 동안 AI 기반 알고리즘에 의해 만들어진 결과 예측을 따릅니다. 두 이벤트 모두 단계적이기 때문에 알고리즘이 신속하게 효율성을 이해하고 팀과 후보자가 제거될 때 비용 기능을 최소화하는 데 도움이 됩니다. 이러한 상황에서 실제 문제는 입력 변수의 정도입니다. 후보자에서 선수 통계, 인구 통계, 해부학적 능력에 이르기까지 모든 것이 통합되어야 합니다.
주식 시장에서 ANN을 사용하는 예측 알고리즘은 얼마 전부터 존재해 왔습니다. 뉴스 업데이트 및 재무 지표가 사용되는 주요 입력 변수입니다. 덕분에 대부분의 거래소와 은행은 인간의 능력을 훨씬 능가하는 속도로 고주파 거래 이니셔티브에 따라 자산을 쉽게 거래할 수 있습니다.
주식 시장의 문제는 데이터가 항상 시끄럽다는 것입니다. 유가 증권의 가격에 영향을 미칠 수 있는 주관적인 판단의 정도가 매우 높기 때문에 임의성이 매우 높습니다. 그럼에도 불구하고 ANN은 오늘날 모든 주요 은행에서 시장 조성 활동에 사용되고 있습니다.
4. 신용 제재
보험 계리표는 이미 각 보험 신청자와 관련된 위험 요소를 결정하는 데 사용되었습니다. ANN은 이 모든 데이터를 한 단계 더 높였습니다.
모든 대출 기관은 시스템에서 강력하게 확립된 가중치로 소유한 수십 년의 데이터를 실행하고 귀하의 정보를 입력으로 사용하여 대출 신청과 관련된 적절한 위험 프로필을 결정할 수 있습니다. 귀하의 연령, 성별, 거주 도시, 졸업 학교, 참여 산업, 급여 및 저축 비율은 모두 신용 위험 점수를 결정하기 위한 입력으로 사용됩니다.
이전에는 개인 신용 점수에 크게 의존했던 것이 이제는 훨씬 더 포괄적인 메커니즘이 되었습니다. 그렇기 때문에 여러 개인 핀테크 업체가 개인 대출 분야에 뛰어들어 동일한 ANN을 운영하고 은행에서 프로필이 너무 위험하다고 생각하는 사람들에게 대출을 제공하고 있습니다.
5. 자율주행차
Tesla, Waymo 및 Uber는 유사한 ANN을 사용하고 있습니다. 입력과 제품 엔지니어링은 다를 수 있지만 자율 주행 자동차를 현실로 만들기 위해 정교한 비주얼 컴퓨팅을 배포하고 있었습니다.
자율 주행의 대부분은 주변 차량, 도로 표지판, 자연광 및 인공 조명, 보행자, 건물 등의 형태로 현실 세계에서 오는 정보를 처리하는 것과 관련이 있습니다. 분명히, 이러한 자율 주행 자동차를 구동하는 신경망은 여기서 논의한 것보다 더 복잡하지만 우리가 설명한 것과 동일한 원리로 작동합니다.
결론
ANN은 날이 갈수록 정교해지고 있습니다. NLP는 이제 초기 정신 건강 문제 진단을 돕고, 컴퓨터 비전은 의료 영상에 사용되며, ANN은 드론 배송을 지원합니다. ANN이 더 복잡해지고 계층화됨에 따라 이 시스템에서 인간 지능의 필요성은 줄어들 것입니다. 디자인과 같은 영역에서도 제너레이티브 디자인으로 AI 솔루션을 배포하기 시작했습니다.
통합된 모든 ANN의 궁극적인 진화는 일반 정보(General Intelligence)가 될 것입니다. 이는 인류에게 알려지거나 알려지지 않은 모든 정보를 배우고 인식할 수 있을 정도로 정교한 지능의 한 형태입니다. 아주 먼 현실이지만 가능하다면 ANN의 광범위한 채택 덕분에 생각할 수 있는 개념이 되었습니다.