이 영역을 누르면 첫 페이지로 이동
시간의화살 블로그의 첫 페이지로 이동

시간의화살

페이지 맨 위로 올라가기

시간의화살

행복하세요

Computer Science

  • 시간의화살
정리

정리

2021.12.13
1. (Traditional) ML 과 DL의 차이점 딥러닝에서는 backpropagation으로 Cost를 최소화한다. (층을 겹쳐서 쌓으니 scale이 커짐) DL 에서는 Feature 추출도 기계가 함. (인간의 개입을 최소화) 위의 이유 때문에 DL의 모델이 ML보다 복잡해지고 결정할 parameter수도 많아짐. 학습 데이터가 많이 필요함. 2. backpropagation, chain rule 여러 층으로 구성된 Neural Network. 즉 Deep Neural Network 에서 가중치를 갱신할 때 사용. forward(Loss 값 계산) -> backward(편미분 chain rule) -> gradient descent(가중치 업데이트) MLP에서 XOR을 처리하기 위해 backpro..
Machine Learning - RNN

Machine Learning - RNN

2021.12.05
RNN (Recurrent Neural Networks) 지금까지 배웠던 것들을 생각해보자. 처음에 DNN (Deep Neural Networks)에 대해 배웠고, 다음으로 영상과 이미지 처리에 효과적인 CNN (Convolution Neural Networks)을 배웠으며 이제는 series에 대한 정보를 다룰 때 유용한 RNN에 대해 배울 차례이다. DNN Parameter가 급격하게 많아지는 단점이 있다. CNN Parameter를 줄일 수 있다. backpropagation을 수행하는 점은 DNN과 동일함. RNN RNN은 순차적인 데이터의 처리에 적합하다. ex. 시간에 따라 순차적인 입력이 들어오는 음성, 음악 상태 정보 등.. RNN을 음성인식에 사용하는 예시를 생각해보자. 우리는 음성을 직..
Deep Learning - CNN

Deep Learning - CNN

2021.12.05
딥러닝의 활용 분야인 CNN (Convolutional Neural Network) 에 대해 알아보자. 영상을 볼 때 우리는 영상을 보지만, 컴퓨터는 숫자를 본다. 이미지는 행렬 기반으로 표현된다. 예시로 위와 같이 6x6 size의 행렬이 있을 때 3x3행렬을 * 연산 해 줄 수 있는데 이 연산을 Convolution이라고 한다. (선형대수의 곱셈과 convolution은 다름) 큰 수일수록 밝고 작은 수일수록 어둡다고 하자. convolution 연산 과정을 살펴보자. 3x3행렬로 나눈 다음 각 요소에 따라 연산을 진행한다. 완료된 연산은 오른쪽의 결과 행렬에 적는다. 위 방법을 반복해서 4x4 행렬을 완성한다. 예시의 연산을 마치면 위와 같이 나온다. 여기서 3x3행렬은 Filter라고 하는데 딥러..
Advice for Applying ML/DL (2)

Advice for Applying ML/DL (2)

2021.12.04
Training 보다 Testing의 결과가 좋지 않을 때, 이 문제를 Bias와 Variance의 문제로 나눌 수 있다. 위의 문제를 Regularization을 통해 해결했었고, 이 문제가 Bias때문에 발생했는지 Variance 때문에 발생했는지 확인할 때 Learning Curve를 사용한다. 이번 시간에는 Bias 와 Variance에 대해 알아보고 위의 과정에 대해 알아보자. 사진에서는 d=2일 경우에 적당하게 튜닝됐다고 할 수 있고 나머지의 경우는 Underfit 혹은 Overfit 상태이다. 여기서 underfit의 경우 High bias가 끼어있다고 표현한다. 이 경우 데이터를 아무리 많이 박아도 문제는 해결되지 않는다. 다음으로 overfit의 경우에는 High variance의 문제를..
Advice for Applying ML/DL (1)

Advice for Applying ML/DL (1)

2021.12.04
Training에서는 잘 되지만, Testing에서는 잘 작동하지 않는 경우가 많이 있다. 이런 경우에 Traditional Machine Learning과 Deep Learning 모두에 적용될 수 있는 몇 가지 해결방법이 있다. 이번 시간에는 그 해결방법에 대해 알아보자. 1. Evaluating a hypothesis 2. Model selection and training/validation/test sets 머신러닝에 대해 배울 때, 특정 모듈에 대해서 공부했었다. Evaluating a hypothesis는 여기서 어떤 모듈을 사용할지.. 라고 이해하자. 딥러닝 관점에서 생각해 볼 때는, Layer를 1단으로 설정할 지, 10단으로 설정할 지.. 몇 단으로 설정할지와 특정한 Activation..
Deep Learning (4)

Deep Learning (4)

2021.12.03
Multi Layer Perceptron의 개념을 바탕으로 자연어처리(NLP)와 같은 딥러닝의 응용 부분으로 확장할 때 먼저 학습해야하는 개념이 있다. 이번 시간에는 그 개념들에 대해 알아보자. 1. Normalizing inputs 2. Batch/Mini-batch 1. input을 정규화 한다.. 라는 의미를 가진다. Backpropagation으로 정규화를 진행할 때, 입력값으로 주어지는 x1과 x2의 값의 차이가 크면, (ex. x1은 1,000,000 / x2는 50) 학습을 진행할 때 큰 문제가 발생하게 된다. 따라서 두 입력값의 scale을 맞춰 주는 것이 필요한데, 여기서 두 입력값에 대해서 normalization을 진행하는 방법은 학습에 큰 도움이 되지 않는다. 그러면 어떤 방법으로 ..
Deep Learning (3)

Deep Learning (3)

2021.11.18
지난 시간에 배운 내용을 잠깐 짚고 가자. Linear System으로는 복잡한 모델을 처리할 수 없어 활성함수를 통해 NonLinear을 도입해서 사용한다. 가중치 W는 Backpropagation을 통해 Gradient Descent를 통해 갱신한다. 이제 활성함수에 어떤 것들이 들어갈 수 있는지에 대해 알아보자. 활성 함수들의 조건으로는 증가함수여야하고, backpropagation이 원활하게 진행될 수 있도록 Gradient 값 (미분값) 이 깔끔하게 나와야 한다. (미분값에 집중하기보다는 미분을 하는 이유에 집중해서 공부해보자.) 우리에게 익숙한 함수인 Sigmoid function이 주로 쓰이다가, 다양한 함수들을 적용해보며 특정 함수가 영상 인식, 자연어처리 등 특정 분야에 훌륭한 결과를 보..
Deep Learning - Backpropagation

Deep Learning - Backpropagation

2021.11.14
단일 층으로 구성돼있는 Neural Network에는 Gradient Descent를 사용하는게 합리적이다. Backpropagation은 여러 층으로 구성된 상황에서 오류가 최소가 되는 가중치 w를 결정하는 방법이다. 기본적인 틀은 Gradient Descent를 따른다. 먼저 Computation Graphs와 Loss function을 정의한다. Loss 함수는 평가지표를 위해 정의한다. (Cost 함수로도 불림) 입력값과 weight(가중치)를 통해 출력값을 도출한다. (FORWARD DIRECTION) 이 때 처음 가중치는 무작위로 정한다. (Gradient Descent와 비슷함) 다음으로 출력값과 정답값을 통해 Loss를 계산하고. Loss를 통해 가중치를 업데이트한다. (BACKWARD D..
Deep Learning (2)

Deep Learning (2)

2021.11.14
Neuron 은 신경계를 구성하는 세포이다. 지난 시간에 Deep Neural Network를 배웠는데, 여기서 Neural 단어는 딥러닝이 인간의 두뇌와 유사한 과정으로 동작하기 때문이다. 사진이 뇌 속의 뉴런인데, 뉴런 그 자체는 간단하다. 전기적 자극을 받아들이고 활성화할지, 비활성화할지 결정하는 간단한 동작을 수행한다. 하지만 뉴런들이 붙고, 그루핑하고, Network를 형성하게 되면 훨씬 복잡한 생각을 할 수 있게 된다. 뉴런의 기본적인 동작 방식이다. 한 뉴런의 출력을 다른 뉴런이 입력으로 받아들이고, 위의 과정을 반복한다. 뉴런들의 동작 방식을 연구한 결과 인공신경망(Perceptron)이 발명됐다. 입력값들을 받아들이고, (x0 ~ xn) 각각의 입력에 weight를 붙여준다 (w0~wn)..
Deep Learning (1)

Deep Learning (1)

2021.11.14
전통적인 Machine Learning에 어떤 문제가 있어서 Deep Learning이 도입됐고, Deep Learning이 그 문제를 어떻게 극복했는지에 대해 알아보자. 머신러닝에서 경사하강법 (Gradient Descent) 방법을 통해 Cost를 최소화했다. 딥러닝도 Cost를 최소화하는 관점에서는 동일하지만, 딥러닝에 경사하강법을 사용할 수 없다. 모듈의 복잡도가 훨씬 복잡해지는 등 여러 가지 문제가 발생했기 때문인데 뒤에서 자세히 알아보자. 경사하강법을 사용하지 않는 대신, 딥러닝에서는 경사하강법에 기반하지만 좀 더 복잡한 문제에 적용할 수 있는 매커니즘인 Backpropagation(오류 역전파 알고리즘)을 사용해 Cost를 최소화한다. 이렇듯 최신 기술인 Backpropagation을 이해하..
Machine Leaning - Overfitting

Machine Leaning - Overfitting

2021.10.24
지난 시간에 Linear Model의 Regression과 Classification을 배우고 Gradient Descent에 대해 배웠다. 그러면 배운 걸 바탕으로 딥러닝, 머신러닝에 바로 활용하면 참 좋은데.. 그냥 가져다 쓰면 여러 가지 문제점이 생긴다. 1. Overfitting (해결책). Regularization Overfitting. 무언가 굉장히 타이트하게 맞는다는거다. 어느 특정한 데이터에 대해서 딱 들어맞고, variation이 조금이라도 있으면 원하는 값을 얻을 수 없는 문제이다. 딥러닝을 할 때 발생하는 대표적인 문제인데, 이 문제를 해결하기 위해 Regularization을 활용한다. ML과 DL의 학습 과정을 살펴보자. (DL은 ML과 세부적인 부분에서는 다르지만, 전체적으로는..
Linear Model - Classification

Linear Model - Classification

2021.10.24
지난 시간에 Supervised Learning에서의 Linear Model을 Regression문제에 적용했었다. Regression을 배웠으니 Classification에 적용해보자. 1. Binary Classifier / Logistic Regression 2. Softmax Classifier / Multinomial Logistic Regression Classifier기술은 Regression기술에 의존해 만들어졌기 때문에 Classifier 모델이지만 Logistic Regression처럼 Regression 용어가 쓰인다. 1. Binary Classifier / Logistic Regression Regression 모델로 접근하면 공부 시간에 따른 점수를 예측할 수 있다. 위의 그림처..
  • 최신
    • 1
    • ···
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 다음

정보

시간의화살 블로그의 첫 페이지로 이동

시간의화살

  • 시간의화살의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (614)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (97)
      • Machine Learning (28)
      • Operating System (18)
      • Computer Network (17)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
      • Compiler Design (0)
      • Computer Security (0)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Github Actions (0)
      • Amazon Web Service (8)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • Solutions (14)
    • Logs (6)
    • 낙서장 (26)

최근 글

나의 외부 링크

메뉴

  • 홈

정보

13months의 시간의화살

시간의화살

13months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © 13months.

티스토리툴바