본문 바로가기
728x90
반응형
SMALL

딥러닝39

네트워크 생성 및 가중치 전송 Create a Network and Transfer Weights 전송된 가중치로 새로운 신경망을 만든다. 이미지넷에 대해 학습된 가중치가 포함된 Xception 신경망에서 가중치를 전송한다. 기존 Xception 신경망에 keras.applications을 로드한다. base_model의 로딩에는 상당히 많은 작업이 진행된다. 기본 Xception 신경망은 299x299의 이미지를 받아들인다. 표준화한 150x150을 사용해야 하지만 그 차이를 극복하는 것이 비교적 쉽다는 것이 밝혀졌다. 컨볼루션 신경망은 스캔할 때 이미지 텐서에서 커널을 이동한다. Keras는 커널이 스캔하는 이미지가 아니라 레이어의 커널 크기에 따라 가중치의 수를 정의한다. 따라서, 이전 입력 레이어를 폐기하고 원하는 이미지 크기.. 2024. 2. 13.
회귀 네트워크 전송 Transfering to a Regression Network Iris 비용 데이터 세트에는 원래 Iris 데이터 세트에 포함된 예측 변수인 꽃받침 너비, 꽃받침 길이, 꽃잎 너비 및 꽃잎 길이에 부합하는 꽃 샘플에 대한 측정값이 있다. 여기에 비용 데이터 세트가 표시된다. import pandas as pd df_cost = pd.read_csv("https://data.heatonresearch.com/data/t81-558/iris_cost.csv", na_values=['NA', '?']) df_cost 전이 학습이 효과적이려면 새로 훈련된 신경망의 입력이 처음 전송한 신경망에 가장 가깝게 일치해야 한다. 이 최종 분류를 수행하는 소프트맥스 활성화 함수가 포함된 마지막 출력 계층을 제거한다. 비.. 2024. 2. 13.
전이 학습 (Transfer Learning) 전이 학습 (Transfer Learning) 전이 학습은 신경망을 처음부터 훈련하는 대신 미리 로드된 가중치 세트로 훈련을 시작한다. 일반적으로 미리 훈련된 신경망의 최상위 레이어를 제거하고 새로운 최상위 레이어로 다시 훈련한다. 이전 신경망의 레이어는 훈련으로 인해 가중치가 변경되지 않도록 잠긴다. 새로 추가된 레이어만 학습된다. 대규모 이미지 데이터 세트에 대한 신경망을 훈련하려면 많은 컴퓨팅 성능이 필요할 수 있다. Google, Facebook, Microsoft 및 기타 기술 기업들은 다양한 애플리케이션을 위한 고품질 신경망을 훈련하기 위해 GPU 어레이를 활용하고 있다. 이러한 가중치를 신경망으로 전송하면 상당한 노력과 계산 시간을 절약할 수 있다. 사전 학습된 모델이 구현하려는 애플리케이션.. 2024. 2. 13.
임베딩 훈련 (Training Embedding) 임베딩 훈련 (Training Embedding) 레스토랑 리뷰를 긍정 또는 부정에 따라 분류하는 신경망을 만든다. 이 신경망은 여기에 주어진 것과 같은 문자열을 입력으로 받을 수 있다. 이 코드에는 각 리뷰에 대한 긍정 또는 부정 레이블도 포함된다. from numpy import array from tensorflow.keras.preprocessing.text import one_hot from tensorflow.keras.preprocessing.sequence import pad_sequences from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Flatten, Embedding, Dense # .. 2024. 1. 11.
임베딩 전송 (Transferring Embedding) 임베딩 전송 (Transferring Embedding) 이제 간단한 원핫 인코딩을 수행하는 임베딩 룩업을 하드코딩하는 방법을 살펴본다. 원핫 인코딩은 입력된 정수 값 0, 1, 2를 각각 벡터 [1, 0, 0], [0, 1, 0], [0, 0, 1]로 변환한다. 다음 코드는 임베딩 레이어의 무작위 조회 값을 이 원핫 인코딩에서 영감을 얻은 조회 테이블로 대체했다. from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding import numpy as np embedding_lookup = np.array([ [1, 0, 0], [0, 1, 0], [0, 0, 1] ]) model = Sequent.. 2024. 1. 11.
Embedding Layers Embedding Layers 임베딩 레이어는 신경망의 데이터 흐름에 추가 정보를 자동으로 삽입할 수 있는 Keras의 편리한 기능이다. 임베딩 레이어를 사용하면 단어 인덱스 대신 n차원 벡터를 자동으로 삽입할 수 있습. 프로그래머는 자연어 처리 (NLP)와 함께 임베딩 레이어를 사용하는 경우가 많지만, 인덱스 값 자리에 더 긴 벡터를 삽입하고 싶을 때도 이 레이어를 사용할 수 있다. 어떤 면에서 임베딩 레이어는 차원 확장이라고 생각할 수 있다. input_dim : 어휘의 크기는 어느 정도인지 얼마나 많은 카테고리를 인코딩하고 있는지에 대한 이 매개변수는 "조회 테이블"의 항목 수 output_dim : 반환하려는 벡터의 숫자 수 input_length : 입력 특징 벡터에 변환해야 하는 항목의 수 이.. 2024. 1. 11.
ROC 및 AUC를 사용한 다중클래스 분류 ROC 및 AUC를 사용한 다중클래스 분류 신경망의 출력은 다양한 형태로 나타날 수 있다. 그러나 전통적으로 신경망 출력은 일반적으로 다음 중 하나이다. • 이진 분류 (Binary Classification) : 두 가지 가능성 (양수 및 음수) 간의 분류이다. 의료 검사에서는 일반적으로 질병에 걸린 사람인지 (양성), 질병이 없는지 (음성) 여부를 확인한다. • 분류 (Classification) : 2개 이상의 붓꽃 데이터세트 간의 분류 (3방향 분류) • 회귀 (Regression) : 수치 예측 이진 분류 및 ROC 차트 이진 분류는 신경망이 참 / 거짓, 예 / 아니요, 정확 / 틀림, 구매 / 판매라는 두 가지 옵션 중에서 선택해야 할 때 발생한다. 이진 분류를 사용하는 방법을 알아보기 위해.. 2023. 11. 7.
[Data Science] Random UnderSampling Random UnderSampling 무작위 언더샘플링에는 다수 클래스에서 무작위로 예제를 선택하고 훈련 데이터 세트에서 삭제하는 작업이 포함된다. 무작위 언더샘플링에서는 보다 균형 잡힌 분포에 도달할 때까지 다수의 클래스 인스턴스가 무작위로 삭제된다. RandomUnderSampler sampling_strategy 데이터 세트를 샘플링하기 위한 샘플링 정보이다. float인 경우, 리샘플링 후 다수 클래스의 샘플 수에 대한 소수 클래스의 샘플 수의 원하는 비율에 해당한다. 따라서, 비율은 어디가 소수 클래스의 샘플 수이고 가 리샘플링 후 다수 클래스의 샘플 수인지로 표현된다. sampling_strategy는 다음과 같은 방법으로 사용할 수 있다. 'majority' : 다수 클래스만 다시 샘플링 '.. 2023. 10. 4.
[FL] 수평적 연합 학습 (Horizontal Federated Learning) 수평적 연합 학습 (Horizontal Federated Learning) HFL, 일명 샘플 ​​분할 연합 학습 또는 예제 분할 연합 학습은 서로 다른 사이트의 데이터 세트가 겹치는 기능 공간을 공유하지만 샘플 공간이 다른 시나리오에 적용될 수 있다. 이는 테이블 형식 뷰 내에서 데이터가 수평으로 분할되는 상황과 유사하다. 실제로 "수평"이라는 단어는 "수평 파티션"이라는 용어에서 유래했다. 이는 데이터베이스의 전통적인 테이블 형식 보기의 맥락에서 널리 사용된다 (ex: 테이블의 행은 서로 다른 그룹으로 수평으로 분할되고 각 행에는 완전한 데이터와 기능이 포함됨). 예를 들어, 두 지역 은행은 해당 지역과 매우 다른 사용자 그룹을 가질 수 있으며 사용자의 교차 집합은 매우 작다. 그러나 그들의 비즈니스.. 2023. 9. 26.
뉴런의 유형 (1) Types of Neurons 모든 신경망이 모든 종류의 뉴런을 사용하는 것은 아니다. 하나의 뉴런이 여러 종류의 뉴런의 역할을 채우는 것도 가능하다. 신경망에는 보통 네 가지 종류의 뉴런이 있다. • 입력 뉴런 : 각 입력 뉴런을 특징 벡터의 한 요소에 매핑한다. • 은닉 뉴런 : 은닉 뉴런은 신경망이 추상적이고 입력을 출력으로 처리할 수 있도록 한다. • 출력 뉴런 : 각 출력 뉴런은 출력의 한 부분을 계산한다. • 바이어스 뉴런 : 선형 방정식의 y 절편과 유사하게 작업한다. 그리고 각 뉴런을 층으로 배치한다. • 입력층 : 입력층는 데이터 세트로부터 특징 벡터를 받아들인다. 입력층는 일반적으로 바이어스 뉴런을 가진다. • 출력층 : 신경망으로부터의 출력이다. 출력층는 바이어스 뉴런을 가지지 않는다.. 2023. 7. 28.
728x90
반응형
LIST