본문 바로가기

전체 글91

[AI] RNN(Recurrent Neural Network)와 LSTM, GRU의 개념알기 우리의 실생활 데이터는 많은 부분에서 '순서(Sequence)'가 중요합니다. 예를 들어 I Like Apple이라는 문장이 있습니다. 순서가 바뀐다면 I Kiel ppAle로 될 수 있는 거죠. 그렇게 된다면 우리는 이해를 못 하게 되겠죠? 텍스트가 아니더라도, 음성, 헬스 케어 데이터, 주식 데이터 등 수많은 분야에서 순서는 중요합니다. 이러한 순서 처리를 위한 기본적인 Neural Network가 바로 RNN(Recurrent Neural Network)입니다 다음은 RNN의 기본적인 구조입니다. 반복되는 구조네요 RNN은 장기 의존성의 문제를 가집니다. 이를 해결하기 위한 방법 중 하나가 바로 LSTM(Long Short-Term Memory)인데, LSTM은 RNN에 비해 오랫동안 정보를 기억하.. 2022. 12. 17.
[AI] CNN 구현 시 고려해야할 사항들 안녕하세요! 저번 글에서는 CNN의 구조와 각 layer의 기능에 대해 알아보았는데요 2022.12.07 - [분류 전체보기] - [AI] CNN (Convolution Neural Network) 개념알기 [AI] CNN (Convolution Neural Network) 개념알기 안녕하세요! Foxyhyun입니다! 오늘은 이미지 분류의 기초인 CNN에 대해 알아보려고 합니다 Convolution Neural Network, 줄여서 CNN이라고 부르죠. 파라미터만 지정하면 특징 추출도 알고리즘이 자동으로 이 foxyprogramming.tistory.com 오늘은 CNN을 구현할 때 고려해야할 사항들에 대해 알아볼까 합니다. 먼저, 데이터 세트 구성하는 부분입니다. 우리의 목적은 Cost Functio.. 2022. 12. 7.
[AI] CNN (Convolution Neural Network) 개념알기 안녕하세요! Foxyhyun입니다! 오늘은 이미지 분류의 기초인 CNN에 대해 알아보려고 합니다 Convolution Neural Network, 줄여서 CNN이라고 부르죠. 파라미터만 지정하면 특징 추출도 알고리즘이 자동으로 이미지의 데이터를 추출하며, 영상 처리에 유용하게 쓰이고 있습니다. 주로 Convolution + pooling + flatten + fully-connected + softmax의 구조로 표현됩니다 먼저 Convolution에 대해 알아보겠습니다. Convolution layer에서는 해당하는 요소들을 각각 곱하고 이 값을 모두 더하는 연산을 수행합니다. 아래 그림과 같이, 커널이라는 것을 이동시키며 연산을 수행합니다. 여기서 padding이라는 것을 하는데, Convolutio.. 2022. 12. 7.
SQLD 자격증 공부 방법 및 시험 후기 안녕하세요! FoxyHyun입니다! 2022년 11월 5일에 47회 SQLD를 보고 왔는데요. 공부 기간이나 팁들을 설명드리려고 합니다. 공부했던 책 소개 https://search.shopping.naver.com/book/catalog/33802166621?query=sql%20개발자&NaPm=ct%3Dla68lsg0%7Cci%3D793fa6937b07483bea31bb1228d643a4c7759f6c%7Ctr%3Dboksl%7Csn%3D95694%7Chk%3D84bcac689727a2302719bb7fdf4b51148538edfc 이기적 SQL 개발자 이론서+기출문제 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 다들 노랭이노랭이 말들을 많이 하더.. 2022. 12. 7.
[Python] List Comprehension mat = [[1,2,3],[4,5,6],[7,8,9]] new = [x for a in mat for x in a] print(new) 안녕하세요! 이번 글에서는 파이썬에서 한 리스트에서 다른 리스트를 만들어내는 간결한 문법인 List Comprehension에 대해 알아보려 합니다. 먼저 리스트 컴프리헨션 분법을 사용하면 알고리즘을 작성할 때 파생되는 자료 구조를 쉽게 생성할 수 있습니다. a = [1,2,3,4,5] b = [x**2 for x in a] a라는 리스트에 있는 각 숫자의 제곱을 계산한다고 하면, b와 같이 계산을 수행할 수 있습니다. map과 달리 리스트 컴프리헨션을 사용하면 입력 리스트에 있는 아이템을 간편하게 걸러내서 그에 대응하는 출력을 결과에서 삭제할 수 있습니다. map은 .. 2022. 11. 23.
[Python] PEP 8 스타일 가이드 PEP8(Python Enhancement Proposal #8)은 파이썬 코드를 일관성 있게 작성하여 유지보수와 가독성에 도움을 주는 가이드입니다. 오늘은 PEP8에 대한 내용을 소개하려고 합니다. 자세한 내용은 아래의 링크에서 확인할 수 있습니다 https://peps.python.org/pep-0008/ PEP 8 – Style Guide for Python Code | peps.python.org PEP 8 – Style Guide for Python Code Author: Guido van Rossum , Barry Warsaw , Nick Coghlan Status: Active Type: Process Created: 05-Jul-2001 Post-History: 05-Jul-2001, 01.. 2022. 11. 23.
[AI] 전이학습 | Cifar10 | MobileNetV2 안녕하세요! Foxy현입니다 오늘은 내가 직접 모델을 작성하는 것이 아닌, 공개된 모델을 가져와 사용하는 전이 학습(Transfer Learning)에 대해 알아보겠습니다 먼저 Transfer Learning(전이학습)이란 나의 데이터를 학습시키기 위해 공개된 모델을 가져와 일부만 수정하여 학습시키는 것을 말합니다. 그런다고 모든 데이터를 내가 원하는 모델을 사용하여 학습시킬 수 있는 것은 아니고, 최대한 나의 데이터와 공개된 모델에 사용된 데이터와 유사한 데이터를 사용하는 것이 좋습니다 즉, 이미 학습된 모델에서 일부 Layer(weight)만 가져와 학습하는 것을 말합니다. 일반적으로 다음과 같은 과정을 거칩니다 학습된 기존 모델의 layers를 가져오기 Transfer learning 과정에서 기존.. 2022. 11. 23.
[AI] MNIST 데이터 사용하여 신경망 배우기 안녕하세요! 오늘은 딥러닝계의 Hello World와 같은 MNIST 데이터를 사용하여 신경망에 대해 공부해보겠습니다. MNIST 데이터셋은 넘파이 배열 형태로 케라스에 저장이 되어 있습니다. import tensorflow as tf (train_X,train_Y),(test_X,test_Y) = tf.keras.datasets.mnist.load_data() train_X와 train_Y로 훈련 세트를 구성하며, test_X와 test_Y로 테스트 세트를 구성합니다. 데이터를 살펴볼까요? print(train_X.shape) # (60000,28,28) print(len(train_X),len(test_X)) # (60000,10000) plt.imshow(train_X[0],cmap='gray') .. 2022. 11. 7.
[AI] Perceptron 퍼셉트론은 다수의 신호를 입력 받아 하나의 신호를 출력합니다. 입력에 상수(가중치)를 곱해 전부 더한 값이 특정 값보다 크면 1, 아니면 0을 출력합니다. 여기서 특정 값은 임계값이라고 하며, theta로 나타냅니다. 위 내용을 아래로 나타내면 다음과 같습니다. 퍼셉트론은 입력 신호 각각에 고유한 가중치를 부여합니다. 가중치가 클수록 해당 신호가 그만큼 더 중요함을 나타냅니다. 그럼 퍼셉트론을 활용한 간단한 문제를 살펴보겠습니다. 위에서 퍼셉트론은 다수의 입력을 받아 하나의 신호를 출력한다고 했죠? AND 게이트를 예로 들면 2개 이상의 입력을 받아 하나의 출력값을 결정해줍니다. 이를 위해 할 일은 진리표대로 작동하는 x1,x2,theta의 값을 정하는 것입니다. 다음과 같은 그림을 파이썬으로 구현해보겠.. 2022. 11. 7.