전체 글

웹 애플리케이션/자바

웹 기초

웹서비스란 네트워크 : 원격으로 떨어져있는 두 대상 간의 데이터 교환 여러 사람이 동일한 콘텐츠를 언제/어디서든 제공 받을 수 있는 네트워크 서비스 개발 = 네트워크 기술력 = server/client = 1:N URL(내가 원하는 콘텐츠를 가진 페이지가 있는 위치정보를 표현한 규격) 자바는 어플리케이션을 개발하려고 만든 언어라서, C, C++에 복잡한 걸 다 제거하고 나온 LANGUAGE 좀 더 가독이 좋은 언어를 위해서 나온게 파이썬(하나 배운걸 여러군데 써 먹으려고) 웹 서비스 순서 w3c.org 1) STEP 1 : 페이지 표현 기술 클라이언트 기술 : HTML/CSS/JS 단순 텍스트만 담으면 재미가 없으니까 명령어에 디자인, 스타일이 포함되지 않는다. 그래서 디자인 하려고 만든게 HTML 스타..

머신러닝 및 딥러닝/딥러닝

NLP - 전이학습

transformer 모델의 등장 Attention Is All You Need 2017년 자연어 처리 논문에서 처음 제안(By google) 논문에서 제안된 트랜스포머의 구조는 현재 사용되는 거의 모든 자연어 처리 관련 모델의 선조 등장 이후 자연어 처리 분야를 평정했을 만큼 트랜스포머는 강력했으며 언어적 특징을 가장 잘 고려한 모델 현재 자연어 전이 학습 사전 훈련 모델은 거의 모두 트랜스 포머의 변형임 모든 기존 정보를 다 뒤집는 경우 SOTA(State Of The Art) 트랜스포머의 ENCODER로 만든게 BERT 트랜스포머의 DECODER로 만든게 GPT 전이학습 개요 데이터가 충분하지 않은 상황에서 방대한 자료를 통해 미리 학습한 가중값을 가져와서, 다양한 분야에 사용 전이학습 자연어처리 ..

머신러닝 및 딥러닝/딥러닝

자연어처리(텍스트 전처리, 감성분석)

텍스트 분석 텍스트 분석이란? 다양한 형태의 텍스트 (문자열 타입의 데이터)를 컴퓨터를 이용하여 수집하고, 이를 통계 혹은 기계학습 등의 방법을 사용해서 분석하는 것. 텍스트 분석을 통해서 텍스트의 특성을 파악하고 텍스트가 담고 있는 정보와 특정 주제에 대한 여러가지 인사이트를 얻을 수 있음. 텍스트 데이터의 종류 텍스트 데이터에는 신문기사, 블로그, 사회연결망사이트의 글 (예, Tweets), 댓글, 상품 정보, 연설문, 이메일 등 굉장히 다양한 종류가 존재함. NLP vs Text Analysis 자연어처리 머신이 인간의 언어를 이해하고 해석하는데 중점. 기계번역, 자동 질의 응답 시스템 텍스트 분석 머신러닝, 언어 이해, 통계 등을 활용해 모델을 수립하고 정보를 추출해 비즈니스 인텔리전스나 예측 분..

머신러닝 및 딥러닝/딥러닝

순환신경망(RNN) PART2

다층 RNN 긴 시퀀스 학습의 어려움 손실함수의 그레디언트를 계산할 때, 곱셈항 때문에 소위 그레디언트 폭주(exploding gradient) 또는 그레디언트 소실(vanishing gradient) 문제가 발생 그레디언트 소실과 폭주 장기 의존성 문제와 RNN의 한계 순환 신경망의 핵심 아이디어는 이전에 발생한 정보를 현재의 작업에 연결시켜주는 기능이 있다는 점 실제로 매우 유용할 것만 같은 순환 신경망은 잘 작동하는 경우도 있으나 그렇지 못한 경우도 많이 발생한다 LSTM(LONG-SHORT-TERM MEMORY) 불안정한 그레디언트 문제와 싸우기 훈련이 불안정하다고 느껴지면 그레디언트의 크기를 모니터링하고 (예를 들어 텐서보드 사용), 그레디언트 클리핑을 사용하는 것이 좋음단기 기억 문제 해결하기..

머신러닝 및 딥러닝/딥러닝

순환신경망(RNN)

피드포워드(feedforward neural network 신경망의 한계) 앞서 배운 신경망들은 모든 신호가 오직 출력층 방향으로만 향함. 일반적으로 지도 학습을 위한 머신 러닝 알고리즘은 입력데이터가 독립 동일 분포(Independent and Identically Distributed, IID)라고 가정함 즉 훈련 샘플이 상호독립적이고 같은 분포에 속한다는 의미 상호 독립 가정에 기반한다는 점에서, 모델에 전달되는 훈련 샘플의 순서와 학습이 관계가 없음 이러한 신경망의 단점은 한 시점의 이미지나 정보만을 이용한다는 점 순차 데이터(시퀀스 데이터 또는 시퀀스(Sequence)의 특징) 순차데이터 모델링 : 순서를 고려한다. 다른 데이터 타입과 다르게 시퀀스는 특별함. 시퀀스의 정의가 순서를 고려하기 때..

머신러닝 및 딥러닝/딥러닝

객체탐지와 합성곱 신경망

비전인식 분류(Classfication) 검출(탐지, Object Detection) 분할 추적 행동분류 객체탐지/객체 검출 컴퓨터 비전 AI 기술이 가장 많이 응용되는 분야(자율 주행 자동차) 여러개의 물체(객체)를 찾아 위치와 레이블을 알아냄 객체 탐지 작업 단계 입력 이미지에서 여러개의 객체를 찾아내고, 객체를 둘러싼 네모박스(경계박스, 바운딩박스)를 그리는데, 객체의 경계를 나타내는 좌표값은 회귀 알고리즘으로 구함. 위치를 찾아낸 각 객체가 어떤 클래스에 속하는지 분류 알고리즘으로 알아냄 객체 탐지 구현 알고리즘 2단계 방법(2STEP METHOD) 후보 영역을 생성하는 단계와 분류하는 2단계를 거침(RCNN, R FCN, G-RCNN) 1단계 방법(1STEP METHOD) 위치와 분류 정보를 한..

데이터 엔지니어링/데이터엔지니어링 도서 리뷰

[빅데이터를 지탱하는 기술] Chapter1 빅데이터의 기초지식

빅데이터의 정착 기본 구조 웹 서버 등에서 생성된 데이터는 처음에는 RDB 혹은 NOSQL 등의 텍스트 데이터에 저장. 그 후 모든 데이터가 HADOOP으로 모이고, 거기서 대규모 데이터 처리가 실행된다 HADOOP : 다수의 컴퓨터에서 대량의 데이터 처리 예를 들어 전 세계 웹페이지를 모아서 검색엔진을 만들려면 방대한 데이터를 저장해둘 스토리지와 데이터를 순차적으로 처리할 수 있는 구조가 필요. 그러기 위해선 수백, 수천대 단위의 컴퓨터가 이용되어야하는데, 이것을 관리하는 프레임워크가 Hadoop 하둡은 구글에서 개발된 분산처리 프레임워크인" MapReduce"를 참고하여 제작됨(이후 Aparch Spark가 이를 대체하는 추세) SQL 같은 쿼리언어를 하둡에서 실행하기 위한 소프트웨어로 "Hive(하..

일기

데이터엔지니어링 트랙 4~8주차 후기

중간 목표 점검 어떻게 지내왔는지, 되돌아볼 시간도 없이 한 달이 흘렀습니다. 3월 초까지 파이썬 기초, 시각화, 머신러닝, 딥러닝에 대한 기초적인 이해를 하면서 산업 전반으로 데이터가 어떻게 쓰이고 활용되는지 이해하려고 했는데, 나름? 성공적이라고 생각합니다! 먼저 3월이 되기전에 이루고 싶었던 것들은 정보처리기사 필기 합격 미니프로젝트를 통한 머신러닝 프로젝트 이해 데이터엔지니어링에 대한 전반적인 이해 알바 마치기 이렇게 있었습니다. 돌아보면 정보처리기사 필기 합격! IT 산업 전반적으로 맛보기? 정도 한 것 같습니다. 필기를 하는 과정에서 답만 외운 구간이 조금 있어서, 실기 하면서 이 부분은 좀 더 보충해서 학습할 예정입니다. 미니프로젝트를 통한 데이터 산업 이해 https://dataengine..

머신러닝 및 딥러닝/딥러닝

합성곱 신경망 데이터 증강(ImageDataGenerator 사용하기)

tf.keras.preprocessing.image.ImageDataGenerator 이미지 데이터를 읽고 신경망에 적합한 입력이 되도록 가공시켜주는 클래스 사진 파일을 읽음 JPEG 콘텐츠를 RGB 픽셀값으로 디코딩 그다음 부동 소수 타입의 텐서로 변환함 픽셀값(0에서 255 사이)의 스케일을 [0, 1] 사이로 조정함(신경망은 작은 입력값을 선호함) ImageDataGenerator # 케라스로 ImageDataGenerator 클래스 함수를 실행하고 # rescale 옵션을 지정해 이미지 각 픽셀의 값을 0~1로 정규화한다. # 생성된 제너레이터 객체를 image_gen 변수에 할당한다. image_gen = ImageDataGenerator(rescale = (1/255.)) image_genfl..

머신러닝 및 딥러닝/딥러닝

전이학습 이론

Keras 인공 신경망 모델 정의 방법 모델을 정의하는 방법은 두 가지임 Sequential 클래스(가장 자주 사용하는 구조인 층을 순서대로 쌓아 올린 네트워크) 함수형 API(완전히 임의의 구조를 만들 수 있는 비순환 유향 그래프를 만듦)를 사용함 Sequential Class를 사용한 경우 from keras import models from keras import layers model = models.Sequential() model.add(layers.Dense(32, activation = 'relu', input\_shape = (784,))) model.add(layers.Dense(10, activation = 'softmax')) 함수형 API를 사용한 경우..

머신러닝 및 딥러닝/딥러닝

합성곱 신경망 이론

합성곱 신경망 합성곱 신경망의 등장 기존 신경망의 문제점 순방향 신경망의 펼쳐진 1차원 벡터 형태에서는 모니터의 특징을 찾기가 쉽지않음(공간 데이터를 1차원으로 전환하면 형상 정보가 분산되기 때문에 패턴을 찾기 어려워짐) 이미지 내의 특정한 영역에 대해 원래의 이미지가 가지는 기하적 관계를 유지한채로 살펴보는 것이 필요 합성곱 신경망 : 컨벌루션 계층 : 컨벌루션 연산을 통해 이미지의 특정한 영역을 각각의 특징으로 변환 서브 샘플링 계층 : 플링 연산을 통해 이미지의 크기를 줄여 특징의 이동에 대한 위치 불변성 부여 합성곱신경망(CNN; Convolutional Neural Network – 합성곱 신경망은 이미지 처리에 탁월한 성능을 보이는 신경망이다. 다층 퍼셉트론은 이미지 처리에서 한계를 보인다. ..

머신러닝 및 딥러닝/딥러닝

딥러닝 실습(모델세부설정)

딥러닝 모델 세부 설정 모델 초기값 설정 : get_config() 레이어의 초기값을 개발자가 지정할 수 있다. (예제) mnist 데이터셋 활용 dense = tf.keras.layers.Dense(256, activation = 'relu') dense.get_config() 'kernel_initializer' : 레이어 초기화 방법 지정(기본값, glorot_uniform) 'kernel_regularizer' : 과대 적합 규제 적용(기본값, None) 모델 규제 과대적합을 피하기 위해 모델을 구성하는 레이어마다 l1, l2 규제 설정이 가능 kernel_regularizer 활용 # 규제 적용 dense = tf.keras.layers.Dense(25..

우상욱
데이터엔지니어스터디