본문 바로가기

딥러닝

(9)
[추천시스템] 딥러닝과 추천시스템, Wide & Deep Learning 이번 포스팅에서는 추천 시스템에 딥러닝을 적용한 또 하나의 모델인 Wide & Deep Learning 추천 시스템에 대해 알아보려고 한다. 저번 포스팅에서 추천 시스템에 딥러닝을 적용한 첫 번째 모델인 Neural CF에 대해 알아보았다. 이번엔 또 다른 모델인 Wide & Deep Learning 추천 시스템에 대해 알아보고 말미에는 Neural CF와 어떤 차이점이 있는지에 대해서도 살펴보자. 이번에 소개할 Wide & Deep Learning 모델은 이름에서도 추측할 수 있다시피 Wide 구성요소와 Deep 구성요소로 구성되어 있다. 먼저 Wide & Deep Learning 모델의 개괄적인 구조는 아래와 같다. 이제 각각의 구성요소가 하는 역할이 무엇인지 살펴보자. 1. Wide Componen..
[ML] Hyperparameter tuning & Optimization in DNN 앞으로 전개할 내용은 Coursera 강의의 내용을 기반으로 필자가 직접 정리하는 내용이며 해당 컨텐츠 이외의 다른 강의에 관심이 있다면 여기를 참고해 수강해보자. 저번 포스팅에서는 주로 딥러닝이 학습 데이터와 닮아 있지 않은 낯선 데이터를 마주하더라도 제대로 예측하도록 하는 일반화(Regularization) 방법들에 대해 알아보았다. 이번 포스팅에서는 딥러닝의 성능을 개선하는 또 다른 방법으로 Optimization(학습 최적화)과 하이퍼파라미터를 튜닝하는 방법에 대해 알아보려고 한다. 목차는 다음과 같다. 1. Optimization 1-1. Mini-batch Gradient Descent 1-2. Momentum 1-3. RMSProp 1-4. Adam Optimizer 1-5. Batch No..
[ML] How to improve Deep Neural Network? 앞으로 전개할 내용은 Coursera 강의의 내용을 기반으로 필자가 직접 정리하는 내용이며 해당 컨텐츠 이외의 다른 강의에 관심이 있다면 여기를 참고해 수강해보자. 이번 포스팅에서는 딥러닝(Deep Neural Network)의 성능을 개선시키거나 마주하는 문제들을 해결하기 위한 다양한 방법들에 대해 소개한다. 전개되는 내용들 중 일부는 이전 포스팅에서 게시했던 내용들과 중복될 수 있다. 그러한 내용들은 간단히 개념에 대해 소개하고 자세한 내용은 관련 포스팅 링크를 첨부하겠다. 딥러닝이 직면하는 문제들은 다양하다. 하지만 본질적으로 딥러닝이 도달해야 하는 이상점은 바로 만들어진 딥러닝 모델이 어떠한 낯선 데이터를 만나더라도 올바른 예측을 하는 것이다. 즉, 딥러닝의 모델을 일반화(Regularizatio..
[ML] Convolutional Neural Network(CNN) 🔉해당 자료 내용은 순천향대학교 빅데이터공학과 김정현 교수님의 수업자료에 기반하였으며 수업자료의 저작권 문제로 인해 수업자료를 직접 이용하지 않고 수업자료의 내용을 참고하여 본인이 직접 작성하였으므로 저작권 문제가 발생하지 않음을 필히 알려드립니다. 컴퓨터 비젼 즉, 이미지 데이터를 분류하는 데 가장 큰 일조를 한 모델이 있다고 한다면 바로 CNN(Convolutional Neural Network) 모델이다.(애석하게도 여기서의 CNN은 미국의 생방송 뉴스 전문 텔레비전 📺방송사 CNN과는 다르다.) 최근에 CNN은 이미지 분류를 넘어서 RNN의 Seq2Seq 모델과 결합하여 Image Captioning 즉, 기계가 이미지를 보고 텍스트로 설명할 수 있는 능력까지 보여주고 있다. 이에 대해서는 흥미로..
[ML] Tensorflow를 이용해 Deep Neural Network 구현하기 🔉해당 자료 내용은 순천향대학교 빅데이터공학과 김정현 교수님의 수업자료에 기반하였으며 수업자료의 저작권 문제로 인해 수업자료를 직접 이용하지 않고 수업자료의 내용을 참고하여 본인이 직접 작성하였으므로 저작권 문제가 발생하지 않음을 필히 알려드립니다. 이번 포스팅에서는 그동안 Tensorflow에서 구현해보았던 단층 퍼셉트론이 아닌 2개 이상의 층(layer)으로 구성된 다층 퍼셉트론, 이른바 '딥러닝'이라고 불리는 모델을 구현해보려 한다. 물론 여기서 딥(Deep)하다는 것이 특정 몇 개 이상의 층으로 구성되어야 딥러닝이라고 할 수 있는 절대적 기준이 있는 것은 아니다. 하지만 아직 텐서플로우를 활용해 딥러닝을 구현해보는 기초적인 과정이므로 layer가 2개일 경우만을 소개한다는 점 참고해 주길 바란다...
[ML] ANN(Artificial Neural Network) 인공신경망 ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 저번 포스팅에서 다루었던 주제인 Perceptron(퍼셉트론)의 종류 중 다층 퍼셉트론(MLP=Multi-Layer Perceptron)이라고 할 수 있는 ANN(Artificial Neural Network)인 '인공신경망'에 대해 다룰 예정이다. 목차는 다음과 같다. 0. 왜 ANN과 딥러닝을 쓰는가? 1. ANN의 특성 2. ANN의 활성함수(Activation Function) 3. ANN의 학습 4. ANN의 Parameter Optimization(학습방법) 5. ANN 전처리(초기값 부여) 6. ANN의 Overfitting을 막기위한 방법 0...
[ML] Perceptron(퍼셉트론)의 이해와 종류 ※해당 게시물에 사용된 일부 자료는 순천향대학교 빅데이터공학과 정영섭 교수님의 머신러닝 전공수업 자료에 기반하였음을 알려드립니다. 이번 포스팅에서는 인공신경망, 딥러닝의 근간이 되는 퍼셉트론의 개념에 대해 알아보고 퍼셉트론의 종류에는 무엇이 있는지에 대해 공부하려 한다. 목차는 다음과 같다. 1. 퍼셉트론(Perceptron)이란? 2. 퍼셉트론의 종류 3. 퍼셉트론의 학습 알고리즘 4. 퍼셉트론 정리 1. 퍼셉트론(Perceptron)이란? 우선 퍼셉트론은 인간의 뉴런으로부터 착안하여 생겨난 개념이다. 그렇다면 이러한 뉴런이라는 개념을 우리 실생활 문제를 해결하기 위해 어떻게 적용할 수 있을까? 밑의 그림을 보면서 퍼셉트론을 이해해보자. 간단하게 구성요소로 말하자면 '입력값 - 순입력함수 - 활성함수 ..
[ML] 머신러닝의 종류와 용어개념 이번 학기에 머신러닝이라는 전공수업을 듣게 됬다. 저번학기 부터 관심이 간 분야지만 사실 이전에는 공부하면서 등장하는 개념을 알긴 아는 것 같은데 남에게 확실히 뭐라고 설명할 수 있을 정도로 지식의 깊이가 깊지 않았다. 이번학기 수업을 기반으로 해서 시험공부 뿐만 아니라 머신러닝의 기초를 다잡기 위해서 블로그 포스팅을 이용해보려고 한다. 개인적인 공부습관이 시험공부를 하기 위해서는 따로 연습장에 나만의 필기를 무조건 하는 스타일이라서 중간 중간 애매모호한 개념을 직관적으로 이해하기 위해서 필기 그림을 이용하는 것은 이해해 주길... 요즘 코로나로 인해서 아쉽게도 사이버강의로 진행하지만 최대한 따라가기 위해서 갓 구글링의 도움을 빌려가며 같이 공부하고 있다. 오늘은 첫 포스팅으로 머신러닝의 종류와 용어개념..
[딥러닝] NN(Neural Network)의 등장과 개념 이번 포스팅에서는 딥러닝 즉, 뉴럴네트워크(NN)의 등장과 개념, 그리고 뉴럴네트워크의 한계를 Backpropagation(역전파)를 통해서 어떻게 해결했는지에 대해 알아보려고 한다. 1. 뉴럴네트워크의 등장 우리가 다루었던 선형회귀, 로지스틱 회귀, 소프트맥스 이러한 머신러닝 모델들은 linear로 여러가지 문제들을 해결할 수 있었다. 하지만 절대 해결할 수 없는 문제가 하나 있었으니.. 그것은 바로 XOR 문제이다. XOR이란 다음과 같다. X Y XOR 0 0 0 1 0 1 0 1 1 1 1 0 OR 과 AND 그리고 XOR 문제를 그래프로 나타내보면 다음과 같다. 그림에서 보다시피 OR 과 AND 는 기본적으로 Linear를 그려서 분류를 할 수 있다. 하지만 XOR은 어떤 방식으로라도 Linea..