일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 데이터입출력구현
- JSP/Servlet
- 파이썬라이브러리
- numpy/pandas
- pandas
- 코딩테스트
- SQL
- 중학1-1
- 컴퓨터비전
- 자바
- 연습문제
- 파이썬
- 데이터베이스
- 텍스트마이닝
- 운영체제
- CSS
- 중학수학
- 자바 실습
- 영어공부
- 정보처리기사실기
- C++
- html/css
- CNN
- 컴퓨터구조
- 딥러닝
- 머신러닝
- 정수와유리수
- 혼공머신
- 정보처리기사필기
- 데이터분석
- Today
- Total
목록딥러닝 (64)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
오늘부터 딥러닝 공부를 본격적으로 시작하기로 했다. 지난번에 이틀 정도 딥러닝 공부를 했는데 그건 수업을 들으면서 몇 개의 프로젝트를 만들었던 거였다. 사실 수업 시간 배운 것들은 나중에 보면 별로 쓸데가 없고 도움이 알 될 때가 많다. 난 혼자서 이렇게 책을 보고 강의를 들으면서 공부할 때 훨씬 더 효율이 높고 머릿속에도 오래 기억되는 걸 느꼈다.이제 본격적인 딥러닝 공부를 하기 위한 환경을 설정해보기로 하자. 구글 코랩조금 전에 내 컴퓨터의 GPU가 딥러닝을 공부하기에 적당한지 찾아보니 아주 기본적인 것밖에 실행할 수 없다는 걸 알게 되었다. 대신 코랩으로 진행해 보기로 했다. 머신러닝까지는 주피터 노트북으로 실습을 진행했지만 딥러닝부터는 그럴 수가 없다. 코랩으로 실습하는 것도 익숙해져야 할 것..
이 내용은 공부를 하지 않으려고 했는데 그래도 코드만 있는채로 남겨두는 게 영 걸려서 그냥 마저 학습을 진행하기로 했다. 수업 영상은 없지만 모르는 건 찾아보면서 공부하면 될 것 같았다. Callback 함수 실습해보기 매번 런타임 중단시 다시 학습하는 것이 아니라 학습한 모델을 저장하여 이것을 불러서 쓰는 기능이다. Callback 함수는 딥러닝 모델 학습 중 특정 시점(에포크 종료, 배치 처리 후 등)에 호출되어 다양한 작업을 수행할 수 있게 해주는 함수이다. 이러한 콜백 함수는 딥러닝 모델의 성능을 향상시키고, 학습 과정을 더욱 효율적으로 관리하기 위해 사용된다.Callback 함수의 주요 역할Callback 함수는 모델 학습 중간에 특정 이벤트가 발생할 때 실행되며, 다음과 같은 작업을..
저녁 운동을 하고 나서 청소도 하고 식사도 마치고 나니 벌써 10시가 다 되었다. 그래도 이제부터 저녁 공부를 시작해보려고 한다. 오늘 밤 12시 전까지는 딥러닝 학습을 모두 마치려고 한다. 패션 데이터 분류 실습해 보기 이렇게 패션에 관련된 사진이 보이고 있다. 10개의 클래스에 대한 정보는 다음과 같다. 이제 모델링을 하기 위한 작업을 시작해 본다. 여기서부터는 제공되는 수업이 없어서 그냥 혼자서 코드를 치며 분석을 해보았다. 입력 데이터는 28x28 크기의 2D 이미지 데이터로 28x28 크기의 2차원 배열을 1차원으로 변환한다. 이를 통해 선형 형태의 데이터로 학습할 수 있게 만든다. 총 5개의 은닉층이 있으며, 첫 번째 은닉층은 relu 활성화 함수를 사용하고, 나..
최적화 함수의 종류에 대해서 학습해 보는 중이다. 아직 배우지 않은 개념에 대해 이어서 학습을 진행해 본다. 경사하강법에 대하여 경사하강법에도 여러 종류가 있는데 이 부분을 이제 알아보기로 하자. 데이터가 많을 때는 모든 데이터를 업데이트할 수 없기에 확률적 경사하강법을 사용한다. 일반 경사하강법은 시간과 비용이 많이 드는 단점이 있다. 확률적 데이터를 군집 단위로 쪼개어 일부만 업데이트하는 방식이다. 하지만 확률적인 데이터를 사용하기에 비효율적인 학습을 할 수 있다. SGD에서는 mini-batch라고 데이터를 쪼개서 사용한다. 이 값도 하이퍼파라미터로 조절할 수 있다. 확률적 경사하강법 적용해 보기 여기서 batch_size를 64로 하면 더 많은 데이터가 돌아갈 수 있다...
이제 딥러닝 수업이 하루치만 남아있다. 빠르게 학습을 마치고 다음 과목을 공부해보고 싶다. 딥러닝 개념 정리 오늘 학습할 개념들 1. 활성화 함수 초기에는 계단 함수를 사용했는데 문제가 발생한다. 2. 경사 하강법 이 기울기를 미분해서 구하는 것이다. 공식을 암기할 필요는 없지만 이 알파값이 Learning rate라는 것 정도는 알고 있어야 한다. 기울기가 급하면 내려가는 보폭이 커지는 것을 생각하면 된다. 만약 예측값이 10인데, 실제값이 15가 나왔다면 기울기를 왼쪽으로 이동해야 한다고 판단한다. 이때 얼마만큼 왼쪽으로 이동할지 결정하는 것이 Learning rate(학습률) 알파값이다.초기에는 랜덤값으로 설정이 되니 그때의 순간 기울기..
이어서 다중분류 실습을 진행해 본다. 이제 모델링 학습을 하고 평가하는 부분이 남아있다. 다중 분류 실습 이어서 모델이 예측한 데이터와 정답 데이터가 달라서 오류가 발생한다. 이때는 shape를 낮춰주어야 한다. 선생님의 코드대로 실행을 했는데 오류가 뜨며 모델이 평가되지 못하고 있었다. 이 부분은 설명을 안 해주셔서 자료를 찾아보며 드디어 해결 방법을 찾았다. 그 이유는 y_train이 to_categorical로 변환되지 않은 상태에서 모델을 학습시키려고 하기 때문일 가능성이 컸다. 코드에서 y_train을 to_categorical로 변환했지만, 실제로 학습할 때 변환된 데이터인 cate_y_train 대신 여전히 y_train을 사용하고 있었다. 손실값이 조금씩 줄어들고 ..
이번에는 클래스가 3개 이상 있는 다중 분류 실습을 진행해 볼 것이다. 조금 전에 큐티도 하고 요가도 하며 몸과 마음을 풀어보았다. 어제 생각해 보니 공부하다가 머리가 너무 아파서 쉬고 놀았던 것 같다. 가끔은 이런 시간도 필요하다. 하지만 하루 이상 놀게 되면 흐름이 끊기니 앞으로는 이런 일이 없도록 해볼 것이다. 지금까지 살면서 공부를 하다 머리가 아팠던 적은 처음인 것 같다. 이어서 오후 공부를 시작해본다. 다중 분류 실습해 보기 픽셀의 크기가 클수록 더 선명한 화질이다. 흑백 사진으로 바꾸려면 색깔을 gray로 설정해 주면 된다. 한 개의 채널을 가지면 흑백이 출력된다. 값을 출력해 보면 픽셀의 숫자가 넘파이 배열 형태로 출력된다. x와 y의 출력값을 알 수 있다. ..
이제 딥러닝 세 번째 실습 프로젝트를 시작해 본다. 이진 분류로 유방암을 분류하는 수업이다. 이 수업도 역시 한 번도 듣지 않은 내용인데 잘 따라갈 수 있으리라 믿는다. 이진분류 실습해보기 사이킷런에서는 데이터를 이런 형태로 제공한다. 데이터에 대한 정보가 출력되고 있다. 모델링하기 중간층에서의 sigmoid는 역치의 개념을 가져왔다면, 출력층에서는 0부터 1 사이의 값을 해주기 위해 사용한다. 변수에 담아 이후에 그래프도 그려보기로 하자. 과적합이 되지 않으려면 train 데이터와 test 데이터의 loss 함수가 별 차이가 없어야 한다. 학습을 할수록 오차가 적어지면 좋은 것이다. history를 통해 모델의 손실값을 출력해 줄 수 있다. 이 손실값을 y..
이 수업부터는 다른 선생님이 오셔서 진행하셨다. 사실 앞 시간에 수업하셨던 선생님이 더 마음에 들지만 여러 선생님이 수업하시면 좋은 점도 있다. 처음에 공부했던 딥러닝 맛보기 프로젝트를 가지고 수업을 이어 나가셨다.그리고 복습하는 시간의 내용은 반복되는 내용이 많아 여기서부터 정리해보려고 한다. 딥러닝 기초 전반적인 정리 우선 이전 시간에 배웠던 내용을 정리해 보았다. value만 불러오면 이렇게 모든 값들이 다 출력된다. 우리가 원하는 값을 넣어보기로 하자. 2차원 데이터로 출력되었다. 아직 난 뭐가 1차원이고 2차원인지 잘 모른다. 나중에 이 부분도 더 깊이 알아봐야겠다. 모델 생성 부분에서 지난번 선생님이 하셨던 내용을 좀 더 보충해 주셨다. 회귀, 이진/ 다중..
퍼셉트론에 대해서 학습하는 중이다. 먼저 지난 시간 내용을 복습하며 선형 모델과 회귀 모델의 차이점에 대해서 학습해 보기로 하자. 모델 평가하기 전에 알아야 할 개념 정리 회귀는 평균 제곱 오차를 활용하지만 분류에서는 나오는 예측값이 0이나 1 확률값으로 표기된다. 분류에서는 평균 제곱 오차를 적용하기 어려운데 그 이유는 예측과 오차의 차이가 많이 나야 1이 되기 때문이다. 모델 입장에서는 오차값이 적게 나오니 괜찮은 모델이라고 생각한다. 그래서 등장한 것이 손실함수인 lost function이다. 그러면 이 Cross Entropy가 어떤 효과를 지니고 있는지 알아보자. 크로스 엔트로피는 로그함수를 이용하게 되어 있고 파란색이라. 두번째 것은 로그 함수 안에 1을 뺀 예측값을 넣어 계산..