본문 바로가기
반응형

분류 전체보기154

딥러닝) 오차 역전파 backpropagation , 연쇄법칙 chain rule , 기울기 효율적으로 구하기 신경망 모델을 최적화 하기 위해서는 손실 함수의 값을 최소화하는 가중치 매개변수를 찾아야 한다. 복잡한 손실 함수에서 더 좋은 가중치를 찾기 위해 경사하강법(Gradient Descent)을 이용하여 가중치를 갱신하고자 하는데 이때 필요한 것이 기울기이다. 그 이유는 기울기가 이 경사 하강법에서 기울기가 손실 함수의 값을 줄일 수 있는 방향을 제시해주는 지표이기 때문이다. 이전 포스팅에서는 기울기를 구하기 위해 아래와 같이 수치 미분을 통해 기울기를 구하였다. 즉 도함수의 정의로 계산하였다. 그러나 수치 미분은 구현하기는 쉬우나 모든 가중치 매개변수에 대해 하나하나 일일이 계산해야 하므로 시간이 오래 걸리며 비효율적이다. 따라서 가중치 매개변수의 기울기를 효율적으로 구하기 위해 '오차역전파(backpro.. 2021. 3. 8.
딥러닝) 신경망 학습 알고리즘 , Stochasitc Gradient Descent , epoch, iteration , batch size 1. 신경망 학습 알고리즘 구현신경망에는 적응 가능한 가중치와 편향이 있고, 이 가중치와 편향을 training data에 적응하도록 조정하는 과정을 '학습'이라 한다. 신경망의 학습은 4가지 단계로 이루어진다. 1단계 - 미니배치training data 중 일부를 random으로 가져온다. 선별된 데이터를 미니배치라 하며, 미니배치의 손실 함수 값을 줄이는 것이 목표이다. 2단계 - 기울기 산출미니배치의 손실 함수 값을 줄이기 위해 손실 함수의 값을 가장 작게하는 방향을 제시해주는 각 가중치 매개변수의 기울기를 구한다. 3단계 - 매개변수 갱신가중치 매개변수를 기울기 방향으로 갱신한다. 4단계 - 반복1~3단계를 반복한다. 신경망의 학습은 경사 하강법으로 매개변수를 갱신하는 과정이다. 하지만 매개변수를.. 2021. 3. 2.
#5 [파이썬] 백준 1427번 문제: 소트인사이드 백준 1427번 문제 파이썬으로 풀기😄 1. 리스트와 문자열의 차이점은 인덱스를 사용하여 문자열 내의 특정 문자를 바꿀 수 있는지 없는지이다. 리스트는 바꿀 수 있는 반면 문자열은 바꿀 수 없다. 따라서, 자료형이 list가 아닌 str의 경우, 특정 원소를 바꾸고 싶다면 문자열 자체를 새로 만들어야 한다. 2. print문을 반복할 때, 줄바꿈을 하지 않도록 하기 위해서는 end='' 옵션을 사용할 수 있다. www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2021. 3. 2.
#4 [파이썬] 백준 1316번 문제: 그룹 단어 체커 백준 1316번 문제 파이썬으로 풀기😄 1. 문자열내 특정 문자 찾기 -find(찾을 문자, 찾기 시작할 인덱스) www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 2021. 3. 2.
728x90
반응형