본문 바로가기

전체 글50

[딥러닝 파이토치 교과서] 자연어 처리를 위한 임베딩 임베딩 사람이 사용하는 언어를 컴퓨터가 이해할 수 있는 벡터로 변환하는 과정 희소 표현 기반 임베딩 희소 표현은 대부분의 값이 0으로 채워져 있는 경우로, 대표적으로 원-핫 인코딩이 있음 원-핫 인코딩(아래의 이미지 참고) 단어끼리 관계성 없이 서로 독립적임 하나의 단어를 표현하는 데 말뭉치에 있는 수만큼 차원이 존재해야 함 횟수 기반 임베딩 단어가 출현한 빈도를 고려하여 임베딩하는 방법 대표적으로 카운터 벡터와 TF-IDF가 있음 카운터 벡터 문서 집합에서 단어를 토큰으로 생성하고 각 단어의 출현 빈도수를 이용하여 인코딩해서 벡터를 만드는 방법(사이킷런의 CountVectorizer() 사용하여 코드 구현 가능 -> 값은 해당 단어가 나온 횟수) 문서 벡터는 단어 사전의 크기와 동일한 차원을 가지며, .. 2023. 6. 18.
[딥러닝 파이토치 교과서] 자연어 전처리 자연어 처리가 필요한 영역 완성도 높은 자연어 처리: 스팸 처리, 맞춤법 검사, 단어 검색, 객체 인식 완성도 낮은 자연어 처리: 질의응답, 요약, 유사 단어 바꾸어 쓰기, 대화 자연어 처리 관련 용어 말뭉치(코퍼스): 자연어 처리에서 모델을 학습시키기 위한 데이터 토큰: 자연어 처리를 위한 문서는 작은 단위로 나누어야 하는데, 이때 문서를 나누는 단위 토큰화: 텍스트를 문장이나 단어로 분리하는 것 불용어: 문장 내 많이 등장하는 단어 어간 추출: 단어를 기본 형태로 만드는 작업(cosigned, cosigning... -> cosign) 품사 태깅: 주어진 문장에서 품사를 식별하기 위해 붙여 주는 태그 자연어 처리 과정 자연어 -> 전처리(토큰화, 불용어 제거, 어간 추출, 정규화) -> 임베딩 -> .. 2023. 6. 18.
[딥러닝 파이토치 교과서] 성능 최적화 데이터를 사용한 성능 최적화 최대한 많은 데이터 수집 데이터 생성 데이터 범위 조정: 활성화함수로 시그모이드를 사용한다면 데이터셋 범위를 0~1의 값을 갖도록 하고, 하이퍼볼릭 탄젠트를 사용한다면 -1~1의 값을 갖도록 조정(정규화, 규제화, 표준화도 성능 향상에 도움이 됨) 알고리즘 튜닝을 위한 성능 최적화 진단 훈련 성능이 검증보다 눈에 띄게 좋으면 과적합 의심 -> 규제화 훈련과 검증 결과가 성능이 좋지 않으면 과소적합 의심 -> 네트워크 구조 변경, 에포크 수 조정 훈련 성능이 검증을 넘어서면 조기 종료 고려 가중치: 가중치에 대한 초깃값은 작은 난수를 사용하는데 애매하면 오토인코더 같은 비지도 학습을 이용하여 사전 훈련 학습률: 네트워크의 계층이 많다면 학습률을 높여야 하며, 네트워크의 계층이 .. 2023. 6. 17.
[추천 시스템 입문] 동영상 추천에서 중요한 요소 동영상 추천 설명의 중요성 - 동영상 시청에는 많은 시간이 걸리므로 추천받은 영상이 좋아하는 영상이 아닌 것을 알게 되면 서비스에 대한 불신이나 후회로 연결될 수 있음 - 사용자가 안심하고 동영상 시청을 시작할 수 있도록 최적의 설명을 제공하는 것이 중요함 - 예를 들어, '다른 사람도 보고 있습니다',와 같이 추천 개인화 - 각 사용자에게 맞는 썸네일 이미지를 선택하거나 시간이나 계절과 같이 콘텍스트에 맞는 매력적인 썸네일을 만들어 사용자의 시청을 도울 수 있음 넷플릭스 추천 시스템 개발 - 아마존이 사용하던 협조 필터링이라는 방법을 활용해 추천 엔진을 만들었음(공통된 구매 행동을 기반으로 '이 상품을 구입한 사람들은 이런 상품도 구입하고 있습니다'라는 추천을 도출함) -> 하지만 2개의 작품을 봤다고.. 2023. 6. 11.