본문 바로가기

Book Review/[케라스 창시자에게 배우는 딥러닝] 리뷰14

The universal workflow of machine learning 이번 장은 케창딥 6장으로 일반적인 머신러닝 워크플로에 대해 소개해준다. 머신러닝 프로젝트를 위해 전체 스펙트럼을 큰 그림을 볼 필요가 있다. 따라서 전반적인 머신러닝 워크플로에 대해 알아보고 그 흐름에 대해 이해해보자! 새로운 머신러닝 프로젝트를 시작할 때, 어떻게 준비해야 하고 제품화시켜 사용자들에게 전달할 수 있을까? 모든 프로젝트가 그렇듯, 머신러닝 프로젝트의 시작도 문제를 정의하는 것에서 출발한다. 이후 문제를 이해하고 적절한 데이터 셋을 구성하여 모델을 개발한다. 이렇게 만들어진 모델을 테스트하여 좋은 성능을 내도록 develop하여 최종 모델을 최적화하면, 배포 환경을 선택하여 모델을 배치한다. 제품 환경에서 모델 성능을 모니터링하고 차세대 모델을 개발할 수 있도록 데이터를 계속해서 쌓아 학.. 2023. 10. 24.
컴퓨터 비전을 위한 고급 딥러닝 이전의 포스팅에서 Convnet을 통해 이미지 분류 모델을 살펴보고 잘 분류되는 것을 확인할 수 있었습니다. computer vision분야에서 합성곱 신경망은 주로 다음과 같은 분야에서 활용됩니다. 1. 이미지 분류 : 이미지에 포함된 사물의 클래스를 분류하는 것입니다. 이미지 분류에는 크게 두 가지가 있습니다. 단일 레이블 분류(single-label classification) 예제: 한 장의 사진에서 고양이, 강아지, 사람, 자전거, 자동차 등 중에하 하나의 클래스 선택 다중 레이블 분류(multi-label classification) 예제: 한 장의 사진에 포함된 여러 종류의 객체를 모두 분류. 예를 들어 두 사람이 자전거를 타는 사진에서 두 사람과 자전거 등 사진에 포함된 모든 객체의 클래서.. 2023. 3. 24.
CNN 훈련하기: cat / dog 이번 포스팅에서는 지난 시간 공부한 CNN을 활용하여 강아지와 고양이를 구분해보겠습니다. 강아지 vs 고양이 데이터 셋은 캐글에서 가져왔습니다. 해당 데이터는 케라스에 포함되어 있지 않으므로 직접 다운받아 데이터를 다운받아야 합니다. -데이터 내려받기 캐글에서 파일을 직접 다운받아 일일히 내려받는 데이터를 코랩에서 적용하는 방법은 데이터가 커질수록 비효율적입니다. 코랩에서는 캐글 api를 활용하여 캐글에 있는 데이터셋을 간편하게 다운받을 수 있도록 해줍니다. 굉장히 편리하죠! 따라서 캐글의 api를 활용하려면 키를 만들어 로컬 컴퓨터로 다운받아야합니다. 캐글 웹사이트에 접속해서 로그인한 후 account페이지로 이동하면 api섹션에서 키를 다운받을 수 있습니다. create new API tokken 클.. 2023. 2. 21.
합성곱 연산: Convnet / CNN 이해하기 딥러닝을 활용하는 분야 중 컴퓨터 비전은 초기 딥러닝의 부흥을 이끈 분야입니다. 현재 우리에게 널리 사용되는 구글, 네이버의 이미지 검색 / 카메라로 신분증 정보 입력하기 등이 있습니다. 최근에는 자율 주행, 로봇공학, AI 기반 의료진단, 농업 자동화와 같은 첨단 산업 및 연구 분야에서 딥러닝 비전 모델이 핵심이 되기도 합니다. 이번 포스팅에서는 컴퓨터 비전 초기 모델인 CNN에 대해 공부해보고 리뷰해보도록 하겠습니다. 그렇다면 이러한 딥러닝 비전 모델은 어떻게 사람의 눈을 대신하여 판단할 수 있는 기능을 할 수 있는 것일까요? 그것을 가능하게 한 것은 합성곱 신경망(convolutional neural network)라고 불리는 딥러닝 모델의 한 종류 덕분일 것입니다. 합성곱 신경망은 줄여서 CNN .. 2023. 2. 7.
다양하게 케라스 딥러닝 모델 구축하기 케라스(keras)를 활용해서 딥러닝 모델을 만드는 API는 세 가지가 있습니다. 1. Sequential 모델 2. 함수형 API 3. Model subclassing(서브클래싱) 이번 포스팅에서는 위 세가지 keras API에 대해 학습해보고 리뷰하겠습니다. 각 방법마다 쓰이는 특징이 다르며 모델 구축의 복잡한 정도도 다릅니다. -Sequential 모델: 초보자 혹은 간단한 모델을 구축하기 위해서는 sequential API + 내장 층을 이용하여 모델을 구축할 수 있습니다. 사용적인 측면에서 간편하다는 장점이 있습니다. -함수형 API: 일반적인 문제를 다루거나 맞춤형 솔루션이 필요한 태스크, 엔지니어를 위해서는 함수형 API + 내장 층 or 함수형 API + 사용자 정의 층 + 사용자 정의 지.. 2023. 1. 26.
머신러닝의 목표: 일반화 머신러닝의 근본적인 이슈는 최적화와 일반화 사이의 줄다리기입니다. 최적화란 가능한 훈련 데이터에서 최고의 성능을 얻기 위해 모델을 조정하는 것이며(학습), 일반화란 훈련된 모델이 이전에 본 적 없는 데이터에서 얼마나 잘 수행되는 지를 의미합니다. 따라서 머신러닝의 목표는 결국 좋은 일반화 성능을 얻는 것입니다. 그렇다면 일반화 성능을 높이려면 어떻게 해야 할까요? -과소적합과 과대적합 일반화 성능을 높이기 전에 과소적합과 과대적합의 개념에 대해 알 필요가 있습니다. 훈련 초기에 최적화와 일반화는 상호 연관적입니다. 훈련 데이터의 손실이 낮아질수록 테스트 데이터의 손실도 낮아집니다. 이런 상황이 발생할 때, 모델은 과소적합(underfitting)되었다고 말합니다. 즉, 모델의 성능이 계속 발전될 여지가 .. 2023. 1. 11.
신경망을 이용한 회귀: 주택 가격 예측 분류 문제와 달리 이번에는 회귀 문제를 다뤄보도록 하겠습니다. 회귀 문제는 개별적인 레이블을 예측하는 것이 아닌 연속적인 값들을 예측하는 것을 의미합니다. 가령, '기상 데이터로 내일의 기온을 예측하기'가 이에 해당할 것입니다. -보스턴 주택 가격 데이터 셋 보스턴 데이터 셋을 활용하여 주택 가격을 예측해 보겠습니다. 해당 데이터 셋은 1970년대 중반 보스턴 외곽 지역의 범죄율, 지방세율 등의 데이터 셋입니다. 데이터 샘플은 총 506개이며, 404개는 훈련 샘플, 나머지 102개는 테스트 샘플입니다. 보스턴 주택 데이터 셋도 케라스에서 간편하게 로드할 수 있습니다. from tensorflow.keras.datasets import boston_housing (train_data, train_targ.. 2022. 12. 29.
신경망을 이용한 다중 분류 문제: 뉴스 기사 분류 이전 포스트에서 2개의 클래스를 분류하는 모델을 만들어보고 예측까지 해보았습니다. 이번 포스트에서는 2개 이상의 클래스를 분류하는 다중 분류 모델을 만들어보겠습니다. 이전 포스트와 거의 유사하니 이전 포스트를 참고해주세요! https://sanmldl.tistory.com/15 신경망을 이용한 이진 분류: 영화 리뷰 분류 지금까지 다룬 내용을 바탕으로 신경망에서 가장 많이 다루는 이진 분류, 다중 분류, 회귀의 실제 문제를 풀어볼 예정입니다. 이번 포스트에서는 그 중에서 이진 분류의 문제를 다뤄보도록 하겠 sanmldl.tistory.com 뉴스 기사 분류: 다중 분류 -로이터(Reuter) 데이터셋 로이터 데이터셋은 짧은 뉴스기사와 토픽을 매칭한 데이터 셋입니다. 46개의 토픽이 있으며 각 토픽은 최소.. 2022. 12. 29.
신경망을 이용한 이진 분류: 영화 리뷰 분류 지금까지 다룬 내용을 바탕으로 신경망에서 가장 많이 다루는 이진 분류, 다중 분류, 회귀의 실제 문제를 풀어볼 예정입니다. 이번 포스트에서는 그 중에서 이진 분류의 문제를 다뤄보도록 하겠습니다. 영화 리뷰 분류: 이진 분류 이진 분류는 머신 러닝 문제에서 가장 많이 다루는 문제 중 하나입니다. 이 예제를 통해 리뷰 텍스트를 기반으로 영화 리뷰를 긍정/부정으로 분류하는 모델을 만들어보겠습니다. - IMDB 데이터셋 영화 리뷰 분류를 위해 사용할 데이터는 IMDB데이터셋입니다. 인터넷 영화 데이터베이스로부터 가져온 5만 개로 이뤄진 데이터셋 입니다. 해당 데이터 셋은 훈련데이터 2만 5000개 테스트 데이터 2만 5000개, 긍정/부정이 각각 50%로 구성되어 있습니다. 케라스에 IMDB데이터 셋이 있기 때.. 2022. 12. 28.