본문 바로가기

AI6

TensorFlow vs Keras Tensorflow 는, 구글에서 개발하고 오픈소스로 공개한 머신러닝 프레임워크 Keras 는, Tensorflow 위에서 동작하는 라이브러리 keras는 사용자 친화적 비교적 단순한 신경망을 구성하거나, 기존의 기능만을 사용하여 빠른 시간내에 프로토타이핑을 하고자 한다면 충분 tensorflow는 훨씬 더 디테일한 조작 가능 신경망을 유심히 관찰하고, (딥러닝)연구 및 개발을 해야하는 경우, 디버거 사용 가능 =>tf.keras로 주요 틀을 구현하고, tensorflow로 내용 채워 넣기 Keras는 TensorFlow, CNTK 및 Theano 위에서 실행되는 고급 API입니다. TensorFlow는 높은 수준과 낮은 수준의 API를 모두 제공하는 프레임워크입니다. Keras는 Python 언어를 아.. 2024. 3. 22.
라이브러리 vs 프레임워크 라이브러리 : 사용할 때 개발자가 애플리케이션의 흐름을 제어하며 필요할때만 라이브러리를 호출해서 사용 프레임워크 : 프레임워크가 이미 애플리케이션의 흐름을 제어하고 있으며, 개발자는 프레임워크에서 주도하는 흐름과 정의된 규칙에 따라 코드 작성 # 라이브러리 정의 : 라이브러리는 특정 기능을 실행하는 코드의 집합 , 개발자가 애플리케이션에 필요한 기능을 구현할 때 언제든 재사용 할 수 있도록 도움. 이미 작성되어 있는 코드의 메소드, 모듈 등을 호출해서 사용 제어 흐름 : 개발자가 애플리케이션의 주된 제어 흐름을 가지고 있으며, 필요에 따라 라이브러리의 함수나 객체를 호출 사용 예시 : 날짜와 시간을 처리하기 위해 사용되는 Moment.js, HTTP 요청을 처리하기 위한 Axios, 이미지 처리를 위한 .. 2024. 3. 22.
파이토치 모델 : 각 층을 포함하고 있는 인공 신경망 자체 모델의 기본 단위 : 층 (layer) 층을 순차적으로 쌓아 ANN, CNN, RNN 등의 모델 구축 데이터 정의 -> 모델 구축 -> 피드포워드 -> 손실함수 계산 -> 손실함수가 최소가 될 때 까지 옵티마이저, 즉 최적화 알고리즘을 이용해서 모델 파라미터(가중치, 바이어스)값을 찾아가는 과정을 반복하여 딥러닝 학습 진행 파이토치 기본 데이터 타입 : 텐서(Tensor) TensorDataset과 DataLoader를 제공 -> 미니 배치 학습, 데이터 셔플, 멀티 프로세싱을 간단하게 수행 가능 - 모델을 학습하려면 피드 포워드 계산 값과 정답의 차이인 오차(loss)를 계산하는 손실함수와 옵티마이저가 필요 - 각 학습 단계에서 모델은 학습 데이터셋에 .. 2024. 3. 11.
CNN / RNN / LSTM Conv2d 1. Convolution Layer : Convolution Filter를 이용하여 이미지의 특징을 다양하게 추출 - 이때의 filter는 학습된 weight 값으로 보통 크기(ex. 3 X 3)만 지정함 - 아래와 같이 위치를 옮겨가며, element wise multiplication 수행하여 특징을 추출함 ​ - 하나만 만드는 것이 아니라, 여러 개의 filter를 이용하여 여러 특징을 추출 ​ 2. Max Pooling - Convolution Layer에서는 한 칸씩 움직였다면 이번엔 두 칸씩 움직임 - 해당 영역의 특징 값은 최대값으로 기록 ​ CNN (Convolutional Neural Network) 각 레이어의 입출력 데이터의 형상 유지 이미지의 공간 정보를 유지하면서 인.. 2023. 11. 2.
딥러닝 심층신경망(DNN) 모델 프로세스 1. 딥러닝 심층신경망(DNN) 모델 프로세스 ① 라이브러리 임포트(import) ② 데이터 가져오기(Loading the data) ③ 탐색적 데이터 분석(Exploratory Data Analysis) ④ 데이터 전처리(Data PreProcessing) : 데이터타입 변환, Null 데이터 처리, 누락데이터 처리, 더미특성 생성, 특성 추출 (feature engineering) 등 ⑤ Train, Test 데이터셋 분할 ⑥ 데이터 정규화(Normalizing the Data) ⑦ 모델 개발(Creating the Model) ⑧ 모델 성능 평가 import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.. 2023. 10. 31.
앙상블 앙상블 기법의 종류 배깅 (Bagging): 여러개의 DecisionTree 활용하고 샘플 중복 생성을 통해 결과 도출. RandomForest 부스팅 (Boosting): 약한 학습기를 순차적으로 학습을 하되, 이전 학습에 대하여 잘못 예측된 데이터에 가중치를 부여해 오차를 보완해 나가는 방식. XGBoost, LGBM 랜덤포레스트(RandomForest) Bagging 대표적인 모델로써, 훈련셋트를 무작위로 각기 다른 서브셋으로 데이터셋을 만들고 여러개의 DecisonTree로 학습하고 다수결로 결정하는 모델 주요 Hyperparameter random_state: 랜덤 시드 고정 값. 고정해두고 튜닝할 것! n_jobs: CPU 사용 갯수 max_depth: 깊어질 수 있는 최대 깊이. 과대적합 방.. 2023. 10. 31.