기계학습 - Deep learning - 과적합 방지와 기울기 소실, 폭주
Deep learning 1. 과적합 1) 개요 이전에 역전파 과정에서 비용함수로 산출된 오류값에 근거하여 학습률을 곱하여 각 퍼셉트론의 가중치와 편향을 조정하는 것을 보였는데 특정 데이터가 다른 데이터와 동떨어져있다고 가정해보자. 그러면 해당 데이터가 보이는 양상과는 달리 기울기와 편향이 다르게 조정될 수 있다. 위와 같이 우리가 원하는 형태의...
Deep learning 1. 과적합 1) 개요 이전에 역전파 과정에서 비용함수로 산출된 오류값에 근거하여 학습률을 곱하여 각 퍼셉트론의 가중치와 편향을 조정하는 것을 보였는데 특정 데이터가 다른 데이터와 동떨어져있다고 가정해보자. 그러면 해당 데이터가 보이는 양상과는 달리 기울기와 편향이 다르게 조정될 수 있다. 위와 같이 우리가 원하는 형태의...
Rust 문법 1. 제네릭 타입 제네릭을 사용하면 함수 시그니처나 구조체의 아이템에 다양한 구체적 데이터 타입을 사용할 수 있도록 정의할 수 있다. 총 4가지를 제네릭 데이터 타입으로 정의할 수 있다. 1) 함수 제네릭 함수를 정의할 때는, 함수 시그니처 내 매개변수와 반환 값의 데이터 타입 위치에 제네릭을 사용하면 된다. 제네릭 함수로 정의하면 ...
Deep learning 1. 역전파 1) 개요 Deep learning에서 말하는 학습이란 적절한 가중치 w와 적절한 편향 b를 찾는 것이다. 이를 찾기 위한 방법이 이전 포스팅에서 말했던 옵티마이저인데 역전파는 퍼셉트론으로 층층이 이루어진 계층을 역으로 타고 올라가면서 옵티마이저에 의한 최적화를 시행하는 것이라고 생각하면 된다. ※ 기본적인 옵...
Deep learning 1. 손실 함수 기대값과 실제값의 차이를 수치화하는 함수이다. 함수의 값이 작아지게 만드는게 딥러닝의 목표이며 이 값은 가중치 w와 편향 b값을 조정함으로써 찾게된다. 손실함수의 종류는 매우 많지만 그 중에 3가지만 이야기해보겠다. 1) 평균 제곱 오차(Mean Squared Error) 이전에 통계학 관련 포스팅 할때...
Deep learning 1. 순환신경망(Recurrent Neural Network, RNN) 1) 개요 앞서 입력층에서 출력층으로만 출력이 향했던 구조의 경우 피드포워드 신경망(Feed Forward Neural Network)라고 하는데, 이런 신경망의 경우 이전의 데이터에 대한 정보를 갖고 있지 않아 이전 데이터와 함께 순차적인 처리를 해야하는...
Deep learning 1. 활성화 함수(Activation Function) 1) 개요 은닉층과 출력층의 뉴런에서 출력값을 결정하는 함수를 활성화 함수(Activation Function)이라고 한다. 기본적으로 이 활성화 함수는 비선형 함수여야한다. 비선형 함수라는 말은 그래프를 그릴때 직선하나로 그릴 수 없는 함수를 말한다. 2) 종류 a...
Deep learning 1. 개요 딥 러닝(Deep Learning)은 머신 러닝(Machine Learning)의 특정한 한 분야이다. 인간의 뇌세포를 모사한 형태인 퍼셉트론의 층을 연속적으로 깊게 쌓아올려 데이터를 학습하는 방식을 말한다. 이를 인공 신경망(Artificial Neural Network)이라고도 한다. 딥 러닝이 화두가 되기 ...
기계학습 1. 개요 기계학습(Machine Learning)이란 주어진 데이터로 하여금 기계가 규칙을 찾아 예측하는 것을 말한다. 데이터를 기반으로 규칙을 찾아낸다는 점에서 데이터 마이닝과 비슷하다고 생각할 수 있지만 찾는것에 중점을 두는 데이터 마이닝과는 달리, 기계학습은 찾아낸 규칙으로 하여금 알고리즘을 발전시켜 더 나은 예측을 하는 것을 목표로...
Firecracker ※ 인터넷 및 논문을 읽고 분석했으나 해석이 잘 못되었을수도 있으므로 원문을 직접 살피는 것을 권고함 1. 개요 Firecracker라고 하면 무엇인지 모르는 사람이 있을 것이다. 하지만 “AWS Lambda”에 대해서 말하면 아는 사람은 꽤 될 것이다. AWS에서 나온 Lambda라는 서비스는 이 Firecrac...
Webassembly 1. 개요 WebAssembly(약칭 Wasm)는 다양한 프로그래밍 언어와 여러 실행 환경 사이의 중간 계층으로 30개 이상의 언어로 작성된 코드를 가져와 .wasm 파일로 컴파일한 다음 브라우저, 서버 또는 자동차에서 해당 파일을 실행할 수 있다. 브라우저 외부의 다양한 환경에서도 실행할 수 있으며 게다가 WebAssembly는...