분류 전체보기 162

[DL] Graph Neural Network (GCN, Graph Attention Network)

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 이번 시간은 Graph Neural Network에 대한 얘기이다 우선 그래프라는 것이 무엇인지 알아보자 그래프는 데이터 자체의 structure를 말한다노드란 것이 있고 엣지란 것이 있는데어떤 엔티티들을 노드라고 하고 그 노드들을 연결하는 것을 엣지라고 한다 위 ppt 예시에서처럼 지도에서 각각 어떤 입지들이 노드들이 되고각각의 입지들이 도로로 어떻게 연결되었는지가 엣지가 된다화학에서도 화학식을 얘기할 때 원자들이 노드가 되고어떤 circuit도 그래프가 된다 따라서 다양한 것들을 그래프로 표현할 수 있다 인스타그램이나 페이스북에서 사람과..

[DL] Transformer 2편 (Transformer for Language, BERT & GPT)

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 이번 시간은 저번 시간에 계속해서 transformer를 배운다 지난 시간에는 attention을 배웠고그 attention이 transformer layer에서 어떻게 작동하는지를 배웠다 이번 시간에는 transformer가 어떻게 사용되는지즉, 우리가 사용하고 있는 language model에서 트랜스포머가 어떻게 사용되고있는지 배운다 일반적으로는 transformer = language model = NLP 이런 느낌인데우리가 지난 시간에 배운 Transformer layer는 상당히 general한 느낌이 강했다transformer에 input으..

[DL] Transformer 1편 (Residual Network, Multi-head Self Attention)

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 이번 시간과 다음 시간에는 transformer에 대해서 배워본다우선 이번 시간에는 transformer에 대해서 배우기 이전에residual network라는 개념에 대해서도 배워본다 우선 Residual network에 대해서 살펴보자우리가 지난 시간에 CNN에 대해서 살펴봤는데레이어의 숫자가 큰 것과 작은 것을 상대적으로 비교해보자 왼쪽은 test 에러의 그래프이고 오른쪽은 train error의 그래프이다test error건 train error건 레이어의 숫자가 더 큰 것이퍼포먼스가 안좋게 나오는 것을 확인할 수 있다 종종 이런경우가 나오긴하는..

[DL] Convolutional Neural Networks (CNN)

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 이번 시간부터는 이제 neural network의 다양한 활용에 대해 알아본다그 첫번째는 바로 Convolution Neural Network일명 CNN이다 이 CNN은 이미지에 아주 널리 쓰이는 테크닉인데우리가 이미지를 neural network의 input으로 받는다그렇게 되면 image가 neural network의 input으로 들어오면서숫자 혹은 pixel value로 들어가게 된다 색상값이 RGB이기 때문에 내가 어떤 색상 이미지를 받으면채널별로 RGB컬러가 있고 채널별로 pixel value가 존재한다이런 값이 input으로 들어가게 되서 아웃..

[DL] Regularization (Dropout, Early Stopping, Transfer Learning, Data Augmentation)

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 오늘은 딥러닝에서 사용할 수 있는 regularization에 대해서 배웠다 참고로 우리가 이전에 linear regression에서 ridge와 lasso를 배웠는데그때도 이 방법론들이 linear regression에만 국한된 것은 아니라고 했었다 일단 우리가 이 regularization을 왜 하는지부터 좀 생각을 해보자 우리가 이전시간부터 계속 말했는데왜 training data에서 학습을 열심히 시켰는데 test data에서 성능이 안나올까?라고 한다면첫 번째는 train data에 너무 overfit한 나머지 test에서 일반화가 안되는 경우가 있다 ..

[DL] Computing Gradients (Forward Pass, Back Propagation)

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 지난 시간에는 우리가 gradient descent, Adam 이런걸 봤고gradient를 정확하게 어떻게 구현하는지에 대해서는 얘기를 안했다 지난 시간에 얘기했던 gradient는 정확하게 어떻게 계산되는건지에 대해서 이번 시간에 배워보고사실 neural network에 대한 업데이트를 하려면각각의 레이어에 대해서 gradient를 구해야하는데 이를 어떻게 하는지 살펴본다 우리가 앞에서 봤던 loss function이다loss function은 데이터, 모델, 파라미터를 기준으로 구한다고 했다 위는 hidden layer가 3개가 있는 neural n..

[DL] Fitting Models

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 이번 시간에는 neural network를 어떻게 fitting 시키는지에 대해서 배워보자이번 시간에는 기본적인 gradient descent에 대해서다음시간에는 back propagation에 대해서 배운다 우리가 training을 하려면 데이터가 있어야하고이걸 바탕으로 loss function이 있어야한다 이번 교재에서는 데이터의 개수를 I라고 표기하는데이걸 가지고 우리가 어떤 함수의 파라미터인 phi를 조절하는 것이다그래서 이때의 loss를 계산하라면 3개가 필요한데파라미터, 모델, 데이터이다 위를 바탕으로 loss를 계산하면 그게 train loss가..

[DL] Deep Neural Networks

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 이번 시간은 딥러닝의 두 번째 시간인Deep Neural Network에 대해 배웠다지난 시간에 배운 Shallow Network는 hidden layer가 1개인 것이었다면Deep Neural Network는 hidden layer가 2개 이상인 것을 말한다 오늘 내용의 목차는 위와 같다 우선 2개의 network를 합성하는 방법을 알아보고이게 어떻게 deep neural network와 연결이 되는지 살펴보자 이렇게 2개의 shallow network가 있다고 가정해보자input이 1개이고 hidden unit이 3개이다 첫 번째 input이 x이고 첫..

[DL] Shallow Neural Network

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다 오늘부터 딥러닝에 관한 내용을 배운다딥러닝부터는 새로운 교제를 사용한다고 한다 오늘 배울 내용은 shallow neural network이다보통 neural network에서 hidden layer개 인것을 shallow neural network2개 이상인 것을 deep nueral network라고 한다 우리가 처음에 배운 linear regression을 한 번 잘 생각해보자input으로 들어가는 여러 개의 feature들을 벡터로 만들고그 벡터를 어떠한 선형 모델에 집어넣은 다음 output을 받는다이 linear regression에서 모델의 예측..

[ML] Clustering (k-means clustering, hierarchical clustering)

본 게시글은서울대학교 데이터사이언스대학원 오민환 교수님의데이터사이언스를 위한 머신러닝 및 딥러닝1 수업을학습을 목적으로 재구성하였습니다오늘은 중간고사 후 머신러닝의 마지막 시간clustering에 대해서 배운다다음 시간부터는 딥러닝 내용으로 넘어간다 cluserting에 대해서 살펴보자 clustering이란 데이터포인들이 있으면 이들을 어떻게 subgroup으로나눌건지에 대한 내용이다한 마디로 데이터포인트들을 partition으로 나누는 것이다데이터들은 x가 존재하고 y는 있을수도있고 없을 수도 있는데clustering도 unsupervised learning이기 때문에 y를 신경쓰지않는다오직 x feature만 보고 clustering을 수행한다 그런데 어떤 데이터들이 가까운지 비슷한지 다..