일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- JDBC
- 오블완
- 티스토리챌린지
- 정보처리기사실기
- 자바스크립트
- 머신러닝
- CSS
- 컴퓨터구조
- c언어
- 데이터분석
- 파이썬
- SQL
- 딥러닝
- 혼공머신
- 순환신경망
- 데이터베이스
- rnn
- JSP
- 상속
- 중학수학
- html/css
- 컴퓨터비전
- 자바
- 디버깅
- 중학1-1
- 자바 실습
- 연습문제
- JSP/Servlet
- 정보처리기사필기
- 자바스크립트심화
- Today
- Total
목록딥러닝 (72)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
오후에 다른 일정이 있어서 오후 공부를 늦게 시작해 본다. 저녁 먹기 전까지 2시간 동안 정말 열심히 공부해서 7장의 마지막 장 학습을 마쳐볼 생각이다. 그리고 오늘 저녁부터 내일 혹은 모레 새벽까지 지난번에 공부하다 말았던 파이썬 딥러닝 텐서플로 책으로(무척 어려움) 캐라스 학습을 진행하려고 한다.그런 다음에 다음 주에는 다시 지금까지 진행했던 시각지능 관련 수업을 모두 듣고 학습일지를 써볼 생각이다. 수업과 함께 CNN, RNN 관련 내용을 책 두 권과 함께 병행할 것이다. 그리고 나면 컴퓨터 비전도 학습할 수 있는 실력이 될 것 같다. 난 영상 처리 기술을 제대로 익혀서 특정 대상을 위한 유용한 앱을 만들고 싶다. 그럼 이제 공부를 시작해 보자! 지난 시간 복습 시작하기 전에지금까지 인공 신..
이어서 심층 신경망 학습을 진행해 보겠다. 아침에 일정이 있어 1시간 만에 이 공부를 모두 마치려고 한다. 렐루 함수초창기 인공 신경망의 은닉층에 많이 사용된 활성화 함수는 시그모이드 함수이다. 하지만 이 함수에는 단점이 있다. 오른쪽과 왼쪽 끝으로 갈수록 그래프가 누워있기 때문에 올바른 출력을 만드는데 신속하게 대응하지 못한다. 특히 층이 많은 심층 신경망일수록 그 효과가 누적되어 학습을 더 어렵게 만든다. 이를 개선하기 위해 다른 종류의 활성화 함수가 제안되었다. 바로 렐루(ReLU) 함수이다. 입력이 양수일 경우 마치 활성화 함수가 없는 것처럼 그냥 입력을 통과하고 음수일 경우에는 0으로 만든다. 렐루 함수는 max(0, z)와 같이 쓸 수 있다. 이 함수는 z가 0보다 크면 z를 출력하고 z..
인공 신경망 공부를 마치고 드디어 심층 신경망에 대해서 공부해보려고 한다. 인공 신경망에 층을 여러 개 추가하여 패션 MNIST 데이터셋을 분류하면서 케라스로 심층 신경망을 만드는 방법을 자세히 배우게 된다. 지난 시간 복습 이렇게 층과 모델은 분리되어 관리하고 있다. 시작하기 전에이전 절에서 만들었던 인공 신경망의 성능을 더 높여보려고 한다. 2개의 층다시 케라스 API를 사용해서 패션 MNIST 데이터셋을 불러오겠다. 그다음 이미지 픽셀값을 0~255 범위에서 0~1 사이로 변환하고, 28 x 28 크기의 2차원 배열을 784 크기의 1차원 배열로 펼친다. 마지막으로 사이킷런의 train_test_split() 함수로 훈련 세트와 검증 세트로 나눈다. 인공 신경망 모델에 층을 2개 추가..
딥러닝을 하고 싶은 마음과 지난번에 마무리하지 못한 파이썬 교재의 마지막 장을 학습해야 할지 무척 고민이 된다. 우선 오늘은 딥러닝을 아침에 했으니 오후와 저녁에 남은 시간에 이 공부를 해보기로 했다. 학습 목표딥러닝과 인공 신경망 알고리즘을 이해하고 텐서플로를 사용해 간단한 인공 신경망 모델을 만들어보기 시작하기 전에마케팅 팀은 패션 상품의 주 고객층인 20대를 타깃으로 이전보다 럭키백의 정확도를 높여야 한다고 요구했다. 생선 럭키백에서 알고리즘으로 사용한 로지스틱 회귀 알고리즘으로 패션 럭키백의 정확도를 높이려고 한다. 지난 시간 복습 패션 MINIST7장과 8장에서는 패션 MINIST 데이터셋을 사용하겠다. 이 데이터셋은 10종류의 패션 아이템으로 구성되어 있다. 머신러닝과 딥러닝을 처음 배울 때..
이번에는 인덱싱과 형태 변환에 대해서 학습해보려고 한다. 1. 인덱싱(indexing)텐서를 구성하는 개별 원소의 위치 인덱스를 기준으로 원소를 추출하는 인덱싱 방법은 라이썬 리스트나 넘파이 배열 인덱싱 방법과 비슷하다. 먼저 1차원 벡터의 인섹싱 방법을 알아본다. 숫자 원소 벡터를 정의하고 constant 함수에 파이썬 리스트를 입력하면 1차원 벡터 텐서로 변환된다. 텐서플로에서의 인덱싱은 넘파이 등의 인덱싱과 비슷하다. 대괄호 안에 [행 인덱스 범위, 열 인덱스 범위]와 같이 인덱스 범위를 지정하여 슬라이싱 방식을 적용할 수 있다. 랭크 3 이상의 고차원 텐서의 인덱싱은 2차원 구조인 행렬 텐서의 개념을 확장하여 처리한다. 먼저 다음 코드와 같이 (2, 2, 3) 크기의 텐서를 정의한다. ..
이어서 텐서플로 자료 구조에 대해서 학습해본다. 이번에는 행렬에 대해서 학습해보려고 한다. 텐서플로 자료 구조 2 3. 행렬(Matrix)행렬은 차수가 1인 벡터를 같은 축 방향으로 나열하는 개념이다. 여러 개의 1차원 벡터를 원소로 갖는 1차원 배열이다. 원소의 차수가 1이므로 총 차수는 2가 된다. 텐서플로에서는 '랭크-2' 텐서라고 부른다.아래의 왼쪽 그림과 같이 랭크-2 텐서에서는 여러 개의 1차원 배열을 원소로 갖는 벡터 형태로 표현된다. 오른쪽 그림은 행과 열이라는 2개의 축을 갖는 2차원 구조로 표현할 수 있다. 다음 예제는 2개의 리스트를 원소로 갖는 리스트를 사용해서 2행 2열 구조의 2차원 행렬 텐서를 만드는 내용이다. CONSTANT 함수에 배열을 입력하면 텐서로 변환해준다. ..
점심을 먹고 3시 넘어서 오후 공부를 시작해본다. 오후에는 많아야 3시간밖에 공부를 할 수 없을 것 같다. 그래도 할 수 있는데까지 최선을 다해볼 것이다. 텐서플로 자료 구조파이썬 자료형 값들은 텐서플로 자료구조인 텐서로 변환되어 처리된다. 텐서플로에서 자료를 표현하는 기본 구조인 텐서에 대해 알아보기로 한다.아래 그림은 0차원 텐서인 스칼라, 1차원인 벡터, 2차원인 행렬, 3차원 텐서와 4차원 텐서까지 차수가 1씩 증가함에 따라 데이터 구조가 확장된다. 차수(차원의 수)는 텐서를 구성하는 벡터의 개수를 나타낸다. 벡터는 어떤 축 방향으로 양이 존재하는 것을 표현한다. 따라서 각 차원은 각각 고유의 정보를 나타내는 축이라고 이해할 수 있다. 2차원 행렬의 경우 1차원 백터들을 다른 축 방향으로 나열..
개발 환경을 힘들게 구축했으니 이제 텐서플로를 실제로 만져보며 실습해보기로 하자. 점심시간이라 조금 배고프지만 이것까지만 마치고 식사해야지~ 텐서플로텐서플로(TensorFlow)는 2015년 구글 브레인 팀에 의해 공개된 대표적인 머신러닝 라이브러리이다. 파이썬뿐 아니라, 자바스크립트나 Swift를 사용하여 모델을 개발하고 배포할 수 있는 다양한 도구를 지원하고 있다. 텐서플로는 머신러닝과 딥러닝 기술을 개발하는데 검추지 않고, 인공지능 기술이 적용된 서비스를 웹 또는 모바일을 통해 배포하는데 활발하게 사용된다. 텐서플로는 딥러닝 연산을 처리하는 라이브러리이다. 텐서플로라는 이름에서 알수 있듯이, 텐서(Tensor)라고 부르는 데이터를 계산 그래프 구조를 통해 흘려가면서 복잡한 행렬 연산을 처리하게 된..
오늘부터 딥러닝 공부를 본격적으로 시작하기로 했다. 지난번에 이틀 정도 딥러닝 공부를 했는데 그건 수업을 들으면서 몇 개의 프로젝트를 만들었던 거였다. 사실 수업 시간 배운 것들은 나중에 보면 별로 쓸데가 없고 도움이 알 될 때가 많다. 난 혼자서 이렇게 책을 보고 강의를 들으면서 공부할 때 훨씬 더 효율이 높고 머릿속에도 오래 기억되는 걸 느꼈다.이제 본격적인 딥러닝 공부를 하기 위한 환경을 설정해보기로 하자. 구글 코랩조금 전에 내 컴퓨터의 GPU가 딥러닝을 공부하기에 적당한지 찾아보니 아주 기본적인 것밖에 실행할 수 없다는 걸 알게 되었다. 대신 코랩으로 진행해 보기로 했다. 머신러닝까지는 주피터 노트북으로 실습을 진행했지만 딥러닝부터는 그럴 수가 없다. 코랩으로 실습하는 것도 익숙해져야 할 것..
이 내용은 공부를 하지 않으려고 했는데 그래도 코드만 있는채로 남겨두는 게 영 걸려서 그냥 마저 학습을 진행하기로 했다. 수업 영상은 없지만 모르는 건 찾아보면서 공부하면 될 것 같았다. Callback 함수 실습해보기 매번 런타임 중단시 다시 학습하는 것이 아니라 학습한 모델을 저장하여 이것을 불러서 쓰는 기능이다. Callback 함수는 딥러닝 모델 학습 중 특정 시점(에포크 종료, 배치 처리 후 등)에 호출되어 다양한 작업을 수행할 수 있게 해주는 함수이다. 이러한 콜백 함수는 딥러닝 모델의 성능을 향상시키고, 학습 과정을 더욱 효율적으로 관리하기 위해 사용된다.Callback 함수의 주요 역할Callback 함수는 모델 학습 중간에 특정 이벤트가 발생할 때 실행되며, 다음과 같은 작업을..