전체 글 31

[DL] DeepLearning 최적화-2

활성함수 sigmoid 함수는 활성값이 커지면 포화상태가 되고 경사도가 0에 가까운 값을 출력한다. 매개변수 갱신이 매우 느린 요인이 된다. ReLU 활성함수를 통해 경사도 포화 문제를 해소한다. 배치 정규화 공변량 변화 현상으로 훈련집합과 테스트집합의 분포가 다르다. 학습이 진행되면서 첫번째 층의 매개변수가 바뀜에 따라 또 다른 층의 input값이 변하기때문에 입력되는 데이터의 분포가 수시로 바뀌는 것이 된다. 공변량 시프트 현상을 누그러뜨리기 위해 정규화를 층 단위로 적용하는 기법이다. 적용위치가 중요한데 완전 연결층, 합성곱층 후 혹은 비선형 함수 전 적용하는 것이 좋다. 적용 단위는 훈련집합 전체 또는 미니배치 중 미니배치에 적용하는 것이 유리하다. 배치 정규화 과정 미니배치 단위로 평균과 분산을..

AI/Deep Learning 2020.12.09

[DL] DeepLearning 최적화

Machine Learning 의 최적화도 매우 복잡하다. 훈련집합으로 학습을 마치고 현장에서 발생하는 Unknown 샘플을 잘 예측해야한다. 훈련집합은 전체 데이터의 대리자 역할이고 검증집합은 테스트집합의 대리자 역할이다. MSE, Log-Likelihood 등 손실함수는 주어진 task의 학습성능의 대리자 역할이다. 즉 , Generalization 능력이 좋아야한다. 일반화능력 최적화가 어려운 이유는 긴 훈련시간과 , 대리자 역할만 하기때문이다. 또한 매개탐색 공간에서 목적함수의 비볼록 성질 non-convex , 고차원 특징공간 , 데이터의 희소성 등의 이유로 최적화가 어렵다. 깊은 신경망 DeepLearning의 최적화에 효과적인 방안을 알아보자. 학습 과정의 성능 판정의 중요성 01. 목적함수..

AI/Deep Learning 2020.12.06

[AWS] Store data in Amazon S3

Amazon Simple Storage Service (Amazon S3)에 데이터 저장 모든 빅 데이터 솔루션은 데이터 저장에서 시작된다. 이것이 빅 데이터 파이프 라인의 첫 번째 단계이며 Amazon Web Services (AWS)의 여러 서비스를 사용하여 데이터를 저장할 수 있다. Amazon Simple Storage Service (Amazon S3)는 데이터 저장에 가장 일반적으로 사용되는 서비스 중 하나이다. AWS Management Console을 사용하여 S3 버킷을 만드는 방법을 연습 Amazon S3에 대한 전체 액세스 권한이있는 그룹에 AWS Identity and Access Management (IAM) 사용자를 추가 Amazon S3에 파일을 업로드하고 Amazon S3의 ..

Cloud/AWS 2020.12.05

[DL]GAN

GAN ( Generative Adversarial Network ) 생성 모델이란? 실제 상황에서 생성모델 현실에 내재한 데이터 발생 분포를 알아낼 수 없다. 현실 데이터를 모방하는 모델의 확률 분포를 추정하는 것도 어려움이 있다. 사람을 상대로 진짜와 가짜를 구별하는 실험 ( 50%일 경우 완벽 Fake dataset ) GAN의 핵심 생성기 generator G와 분별기 discriminator D의 대립 구도 G는 가짜 샘플을 생성하고 D는 가짜와 진짜를 구별 G는 50%를 넘어 진짜와 가짜를 구별 못하도록 하는 수준까지 학습하는 것이 목표

AI/Deep Learning 2020.12.03

[AWS]Automate Loading Data with AWS Data Pipeline

데이터 분석가는 빠르게 변화하는 데이터로 작업해야하는 경우가 많다. 이것은 빅 데이터의 5V (볼륨, 다양성, 속도, 진실성, 가치)의 속도 부분이다. 데이터를 빠르게 수집하고 데이터베이스 또는 데이터웨어 하우스로 이동하는 프로세스를 ETL (추출, 변환 및로드)이라고한다. AWS Data Pipeline은 ETL을 자동화하는 데 사용할 수있는 웹 서비스로 AWS Data Pipeline을 사용하면 작업이 이전 작업의 성공적인 완료에 의존 할 수 있도록 데이터 기반 workflow를 정의 할 수 있다. 데이터 변환의 매개 변수를 정의하면 Data Pipeline이 설정 한 논리를 적용한다. 데이터 파이프 라인 파이프 라인은 다음 구성 요소로 구성된다. Definition file : ETL 프로세스의 논..

Cloud/AWS 2020.12.01

[AWS] Analyze Data with Amazon Sagemaker, Jupyter Notebooks and Bokeh

Amazon SageMaker를 사용하면 Jupyter 노트북을 빠르게 생성하여 분석을 수행하고 결과 프레젠테이션을 호스팅 할 수 있다. Amazon SageMaker는 기계 학습 시스템을 생성하는 데이터 분석가를 위해 설계된 완전 관리 형 서비스이다. 다양한 오픈 소스 도구를 사용하여 데이터를 시각화 할 수 있다. 이러한 도구를 사용하면 AWS 클라우드의 데이터를 분석의 시각적 묘사와 결합하는 Jupyter 노트북을 생성 할 수 있다. 이 실습에서는 Amazon Simple Storage Service (Amazon S3)에 저장된 데이터를 기반으로 Amazon SageMaker에서 Jupyter 노트북을 생성하고 오픈 소스 도구 Bokeh를 사용하여 분석 시각화를 개발한다. Jupyter 노트북 및 ..

Cloud/AWS 2020.12.01

[DL] CNN 5가지

01. Lenet5 Conv - Pool - Conv - Pool - Conv 의 다섯 층을 통해 특징 추출 28*28 명암 영상을 120차원의 특징 벡터로 변환 AveragePooling 사용 은닉층이 하나인 MLP 컨볼루션 신경망 사례 영상 분류 image classification ImageNet ILSVRC ( ImageNet Large Scale Visual Recognition Competition ) : 1000가지 부류에 대해 120만장의 훈련집합 , 5만 장의 검증 집합, 15만장의 테스트 집합 AlexNet(2012) -> VGG 19 layers -> GoogLeNet 22 layers -> ResNet 152 layers (2015) 02. AlexNet conv 층 5개와 완전연결..

AI/Deep Learning 2020.12.01

[DL] Convolutional Neural Network - CNN

Convolutional Neural Network [ CNN ] 격자 grid 구조를 갖는 데이터에 적합하며 receptive field는 인간시각과 유사하다. 또한 가변 크기의 입력 처리가 용이하다. DMLP 와 CNN 차이점 DMLP CNN Fully-Connection [ 높은 복잡도 ] Conv연산을 이용한 부분연결 [ 복잡도 낮춤 ] 학습이 매우 느리고 과잉적합 가능성 큼 컨볼루션연산으로 좋은 특징 추출 새로운 노드에 필요한 edge수 너무 많아서 가변성 밷 가변성 굳 Conv : 학습에 의해 결정된 복수의 커널(필터)들에 대응되는 특징을 추출하는 층 각 층의 입출력의 특징 형상 유지 ( feature map ) , 영상의 공간 정보를 유지하면서 공간적으로 인접한 정보의 특징을 효과적으로 인식..

AI/Deep Learning 2020.11.30

[DL] DeepLearning Basic

Deep Learning 다층 퍼셉트론 MLP 에 은닉층 hidden layer을 여러개 추가하면 깊은 신경망 Deep neural Networks 가 된다. 깊은 신경망을 학습시키는 것이 Deep Learning Deep Learning의 성공 배경 1980년대 이미 깊은 신경망 아이디어가 있었지만 gradient vanishing (경사소멸)문제 , 작은 훈련집합, 과다한 연산과 시간 소요때문에 실현이 불가능했다. 하지만 지속적인 연구 끝에 성공을 하게 되는데 이 때 주요 연구 부분은 아래와 같다. 학습률에 따른 성능 변화 양상 모멘텀과 같은 최적 탐색 방법 모색 은닉 노드 수에 따른 성능 변화 데이터 전처리의 영향 활성함수의 영향 규제 기법의 영향 Gradient Vanishing Gradient ..

AI/Deep Learning 2020.11.25

[Spark] Spark Programming

#0. Spark-shell 을 실행하기 전 local 에 있는 src 를 hdfs 에 저장 val movies = sc.textFile("/FileStore/shared_uploads/qlstnqkr8860@abc.def/movies.csv") val tags = sc.textFile("/FileStore/shared_uploads/qlstnqkr8860@abc.def/tags.csv") val ratings = sc.textFile("/FileStore/shared_uploads/qlstnqkr8860@abc.def/ratings.csv") println(movies.count) println(tags.count) println(ratings.count) #1. movies.csv 파일에 있는 영화의..