일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 연습문제
- 중학1-1
- 머신러닝
- 정수와유리수
- 영어공부
- 데이터입출력구현
- 딥러닝
- 파이썬
- CSS
- 파이썬라이브러리
- C++
- 컴퓨터구조
- 데이터베이스
- 정보처리기사실기
- numpy/pandas
- 혼공머신
- 운영체제
- 데이터분석
- 중학수학
- SQL
- 텍스트마이닝
- 코딩테스트
- pandas
- 자바 실습
- CNN
- JSP/Servlet
- 컴퓨터비전
- 정보처리기사필기
- 자바
- html/css
- Today
- Total
목록딥러닝 (64)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이번에는 딥러닝 프로세스에 대해서 학습해 보겠다. 딥러닝 프로세스딥러닝 모델 구축 및 훈련을 위해서는 다음과 같은 프로세스를 따른다. 데이터 전처리, 모델의 생성, 컴파일, 훈련은 모델의 훈련을 위한 필수 프로세스로 누락되는 단계는 없다. 예측은 예측용 데이터셋을 입력하며 모델 예측 값을 얻는 과정이다. 검증은 모델의 성능을 평가하는 단계를 말한다. 1. 데이터 전처리데이터를 모델에 주입하기 전에 데이터를 가공하는 단계를 말한다. 데이터셋의 종류와 적용하려는 문제 유형에 따라 전처리 방법은 다양하다.때에 따라서는 배열의 차원을 변경하거나 스케일을 정할 수 있다. 전처리 단계에서 데이터셋의 형태나 차원을 미리 구상해야 다음 단계에서 모델을 설계할 때 입력할 데이터셋의 형태를 올바르게 정의할 수 있다..
어제 딥러닝 심층 신경망을 공부하다가 너무 지루해서 딥러닝 공부를 중단할까 하는 마음이 많았지만 그냥 다시 시작해 보기로 했다. 케라스에 대하여2019년 9월 텐서플로 1에서 텐서플로 2로 정식 판올림을 하면서 생긴 가장 큰 변화는 케라스 API를 텐서플로를 내제화했다는 점이다. 2015년 3월 처음 릴리즈된 케라스 API는 고수준의 딥러닝 라이브러리다. 다른 딥러닝 라이브러리와 가장 큰 차이는 GPU 연산을 수행하는 기능을 직접 실행하지 않고 텐서플로, CNTK, Theano, MXNet 등의 백엔드 엔진을 지정하여 사용한다는 점이다. 케라스의 본래 목적 자체가 딥러닝 라이브러리를 쉽고 간결한 코드로 실행할 수 있게 만들어주는 것이다. 직관적이고 사용자 친화적으로 설계되어 있어 코딩의 난이도가 어렵지..
오후에 다른 일정이 있어서 오후 공부를 늦게 시작해 본다. 저녁 먹기 전까지 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)라고 부르는 데이터를 계산 그래프 구조를 통해 흘려가면서 복잡한 행렬 연산을 처리하게 된..