본문 바로가기

AI/Deep-Learning20

오토인코더(Autoencoder) 오토인코더(Autoencoder)는 신경망 기반의 비지도 학습 알고리즘 중 하나로, 데이터의 특성을 추출하거나 차원을 축소하는 데 사용되는 기술입니다. 주로 데이터 압축, 잡음 제거, 특성 추출 등의 작업에 쓰이며, 딥러닝과 머신러닝에서 중요한 역할을 합니다. 오토인코더의 이름은 입력 데이터를 자기 자신으로 다시 재구성하도록 학습하는 방식에서 유래했습니다. 구성 요소 오토인코더는 다음과 같은 주요 구성 요소로 이루어져 있습니다: 인코더(encoder) 입력 데이터를 저차원의 표현으로 압축하는 역할을 합니다. 이 과정에서 입력 데이터의 중요한 특성을 추출하고 차원을 축소합니다. 주로 다층 퍼셉트론(MLP)과 같은 인공신경망을 사용합니다. 디코더(decoder) 코더에서 생성된 저차원 표현을 원래 입력 데이.. 2023. 9. 13.
딥 클러스터링(Deep Clustering) 딥 클러스터링(Deep Clustering)은 딥러닝 기술과 클러스터링 기술을 결합한 접근 방식입니다. 이 기술은 비지도 학습(Unsupervised Learning)의 일종으로, 데이터의 패턴을 찾고 데이터를 서로 다른 군집으로 나누는 데 사용됩니다. 딥 클러스터링은 특히 고차원 데이터에 적용할 때 유용하며, 데이터를 저차원 공간으로 표현하는 딥러닝 모델과 클러스터링 알고리즘을 조합하여 이를 달성합니다. 딥 클러스터링의 주요 단계 및 개념은 다음과 같습니다: 표현 학습(Representation Learning): 딥 클러스터링은 먼저 데이터의 표현을 학습합니다. 이를 위해 오토인코더, 변분 오토인코더(Variational Autoencoder), 또는 다른 신경망 아키텍처를 사용하여 데이터를 저차원 .. 2023. 9. 12.
다중 레이블 분류(Multi-label classification) 다중 레이블 분류(Multi-label classification)는 머신 러닝과 패턴 인식 분야에서 사용되는 분류 문제의 한 유형입니다. 이 문제에서 각 데이터 포인트는 하나 이상의 레이블(클래스)에 속할 수 있습니다. 다중 레이블 분류는 다음과 같은 상황에 적용될 수 있습니다: 태그 예측: 웹 페이지, 이미지, 음악, 동영상 등과 같은 매체에 대해 관련된 태그 또는 주제를 예측합니다. 예를 들어, 특정 이미지가 "자연 풍경", "동물", "해변"과 같은 여러 주제 또는 태그에 속할 수 있습니다. 텍스트 분류: 텍스트 문서가 여러 주제 또는 카테고리에 속할 수 있는 경우에 사용됩니다. 뉴스 기사 분류, 자연어 처리 작업에서 각 문장의 감정 분류, 주제 분류 등이 이에 해당합니다. 생물 정보학: 유전자 .. 2023. 9. 12.
[Keras] pad_sequences() Keras의 pad_sequences 함수는 시퀀스 데이터를 패딩하여 동일한 길이의 시퀀스로 만들어주는 유용한 도구입니다. 이 함수는 주로 텍스트, 시계열 데이터, 또는 다른 유형의 순차적 데이터를 처리할 때 사용됩니다. 패딩은 시퀀스 길이를 조정하여 모델의 입력 데이터 크기를 일정하게 만들 때 특히 유용합니다. pad_sequences 함수의 시그니처는 다음과 같습니다. keras.preprocessing.sequence.pad_sequences( sequences, # 패딩할 시퀀스 데이터 리스트 maxlen=None, # 패딩된 시퀀스의 최대 길이 (기본값: None) dtype='int32', # 반환된 패딩된 배열의 데이터 타입 (기본값: 'int32') padding='pre', # 패딩 위치.. 2023. 9. 12.
[Keras] 다중 클래스 분류 손실 함수 sparse_categorical_crossentropy와 categorical_crossentropy는 딥러닝 모델을 훈련시킬 때 주로 사용되는 손실 함수(loss function) 중 두 가지입니다. 이 두 손실 함수는 주로 다중 클래스 분류 문제를 해결할 때 쓰이며, 모델의 출력과 실제 레이블 간의 차이를 측정하여 모델을 훈련시키는 데 사용됩니다. 둘 다 크로스 엔트로피(cross-entropy)를 기반으로 합니다. categorical_crossentropy categorical_crossentropy는 주로 원-핫 인코딩(One-Hot Encoding) 형식의 레이블을 사용하는 다중 클래스 분류 문제에 적합합니다. 원-핫 인코딩은 각 클래스에 대해 하나의 레이블을 선택하고, 선택한 클래스의 인덱.. 2023. 9. 12.
DNN(Digital Neural Network) 용어 정리 DNN(Digital Neural Network)은 딥러닝의 한 유형으로, 인공신경망을 사용하여 복잡한 문제를 해결하는 데 사용됩니다. DNN은 여러 종류의 레이어로 구성되며, 여기에는 FFNN(Feedforward Neural Network), FC(Fully Connected), 그리고 Dense Layer가 포함됩니다. 이들에 대한 간단한 설명은 다음과 같습니다: FFNN(Feedforward Neural Network) FFNN은 가장 기본적인 딥러닝 아키텍처 중 하나이며, 정보가 한 방향으로만 흐르는 feedforward 구조를 갖습니다. 입력 레이어, 은닉 레이어, 출력 레이어로 구성됩니다. 각 레이어는 노드(뉴런)로 구성되며, 이러한 노드 간에는 가중치(weight)와 활성화 함수(activ.. 2023. 9. 11.
[Keras] 딥러닝 모델 개발 과정 케라스(Keras)는 딥러닝 모델을 쉽게 개발하고 훈련할 수 있는 고수준 딥러닝 API입니다. 케라스를 사용하여 딥러닝 모델을 개발하는 과정을 API 관점에서 정리해보겠습니다. 라이브러리 임포트 및 환경 설정 import tensorflow as tf from tensorflow import keras 데이터 준비 훈련 데이터와 테스트 데이터를 준비하고, 필요에 따라 데이터 전처리를 수행합니다. 모델 구성 시퀀셜 모델(Sequential Model) 또는 함수형 API(Functional API)를 사용하여 모델을 정의합니다. Sequential 모델의 경우, 레이어를 차례대로 쌓아 간단한 모델을 만들 수 있습니다. 함수형 API를 사용하면 더 복잡한 모델 구조를 정의할 수 있습니다. 예시 (Sequen.. 2023. 9. 11.
DNN과 퍼셉트론(Perceptron) 뉴럴 네트워크(Neural Network)와 퍼셉트론(Perceptron)은 기계 학습과 인공 지능 분야에서 중요한 개념입니다. 이 두 개념을 각각 소개해보겠습니다. 퍼셉트론(Perceptron) 퍼셉트론은 가장 간단한 형태의 인공 신경망 모델 중 하나로, 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 개발했습니다. 퍼셉트론은 입력값을 받아 이를 가중치(weight)와 결합한 후, 활성화 함수(activation function)를 통과시켜 하나의 출력값을 생성하는 모델입니다. 주로 이진 분류(binary classification) 문제를 해결하기 위해 사용됩니다. 퍼셉트론은 다음과 같이 표현됩니다: 입력값: x1, x2, ..., xn 가중치: w1, w2, ..., wn 활성화 함.. 2023. 9. 11.
[TensorFlow] 아이리스 분류 예제와 함수 설명 이 예제에서는 케라스 대신 텐서플로우의 저수준 API를 사용하며, 크로스 엔트로피 손실 함수를 사용합니다. 아래는 전체 코드입니다. 기본 예제 import tensorflow as tf from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import OneHotEncoder import numpy as np # 아이리스 데이터 로드 iris = datasets.load_iris() X = iris.data y = iris.target.reshape(-1, 1) # 원핫 인코딩 .. 2023. 9. 8.