AI9 LIME CODE OverViewCAM/gradCAM과 다르게 LIME/SHAP는 모델과 독립적으로 존재하는 모델이다. 모델만 있으면 LIME/SHAP을 추가할 수 있다. LIME/SHAP은 local한 요소를 강조한다.정답인 경우 정답이라고 인식하게 된 부위를 붉은색으로 표시한다. 틀리게 나온 경우 어디를 보고 잘못 말한 건지 표시해준다. 이때 잘못 말한 경우를 보고 모델 튜닝도 가능하다. 예컨대 턱 부위를 보고 계속 잘못 판단한다면 그 부위를 특별히 조정할 수 있다. MLP MODEL! pip install lime구글 코랩, 아나콘다에서 기본 지원이 안 된다.import numpy as npimport matplotlib.pyplot as pltfrom skimage.color import gray2rgb, rgb2.. AI 2024. 6. 14. Bert CODE OverviewI love Paris. 라는 문장을 Burt 모델에 집어넣어야 하는데 집어넣을 수 없다. 문장을 Burt input shape에 맞게 변형하여 만들어야 한다.입력하고자 하는 문장을 벡터로 변환한다 [임베딩]임베딩하는 방법: 문장의 처음[cls], 단어의 represtation[R], 문장의 끝[sep] 을 표시한다.모델을 Fine-Tuning하여 분석의 특징에 맞게 바꾸어준다.1번의 결과를 2번에 넣어 결과를 추출한다.burt를 통해 문장의 임베딩을 추출해낸다. Burt는 기본적으로 transformer를 써야한다. transformer로 나온 것들 중 가장 큰 오픈소스가 Hugging Face다.from transformers import BertModel, BertTokenizerim.. AI 2024. 6. 14. 설명가능 인공지능 Overview발전되어온 딥러닝 기술의 한계우리는 딥러닝 기술을 사용하여 대규모 데이터를 학습하여 모델을 생성할 수 있게 되었다. 하지만 이런 딥러닝 기술을 적용한 모델이 정확도가 90%라고 무조건 믿을 수 있는 것이 아니다. 딥러닝 기술은 학습 과정을 이해할 수 없기에 왜 정확도가 90%가 나왔는지 사람에게 납득할 수 있는 이유를 알려주지 않는다.Glassbox model vs Blackbox model모델 자체가 설명성이 있는 Glassbox 모델의 경우 설명성이 높았지만, 데이터가 작은 모델에 적합하지 대규모 데이터를 처리하기 어렵다. 또한 위와 같이 의사결정트리의 경우 데이터 규모가 커질 수록 노드 수가 많아져 해석이 어려워진다.다음 그래프를 살펴보면 설명성이 높은 기술은 성능(performanc.. AI 2024. 6. 14. [AI] gradCam code 분석 Overview확인해볼 예시 코드는 ResNet imageNet 데이터를 사전학습한 신경망 모델에 gradCAM을 붙인 코드이다.gradCAM은 CNN 모델 맨 마지막 컨볼루션 층에 연결하여 해당 데이터의 가중치를 토대로 이미지에 덧씌우는 기술이다. 그러나 LIME/SHAP은 가능한 모든 변수들을 제거한 뒤 변수의 중요도를 측정하며 진정한 의미의 설명 가능 인공지능이라고 말할 수 있다.model=ResNet50(weights='imagenet') model.summary()파인 튜닝 없이 이미지넷에 있는 가중치를 그대로 쓰겠다.input layerlayeroutput shapeparamconnect toinput_1 (InputLayer)(None, 224, 224, 3)0[]............con.. AI 2024. 6. 14. [빅데이터] 하둡 기본 세팅 OverviewShufflereduce가 실행되기 전에 같은 키를 가진 value를 list로 만들어준다.Reducekey와 value list를 가지고 reduce를 한다.같은 키의 value list에 있는 값을 더한다.이 값으로 통계처리가 가능하다.Hadoop의 기본 타입전송, 저장하기 좋은 형태로 타입을 만들어 class로 지정하여 사용하고 있다.CombinerMap한 노드에서 특정 키의 중복 값을 따로 처리하지 않고 결과를 수정하여 집계한다.따라서 suffle의 오버헤드가 줄어든다. suffle의 과정에서 정렬도 필요하기 때문이다. 명백하게 합쳐주는 것이 좋다.머신 단위에서 local하게 집계한다.map의 result size를 감소시킨다.결과적으로 reduce의 일과 비슷하다.suffle 직전.. AI 2024. 6. 14. [빅데이터] Hadoop What is Hadoop?데용량 데이터를 분산처리 할 수 있는 아파치 톱 레벨 오픈소스 프로젝트sw framework, java분산파일 시스템(HDFS) : 데이터 저장 / 분산처리 시스템(MapReduce) : 데이터 처리Feature of Hadoop데이터가 있는 곳으로 코드를 이용한다.화살표 방향이 핵심scale up : 소수의 서버보다 다수의 저렴한 서버를 사용한다단순한 데이터 모델반복적인 key - value의 변화로 large data를 처리한다 (k, v) -> (k!, v!) -> (k^2, v^2)데이터의 locality(국지성)을 최대한 이용한 프로그래밍 모델오프라인(실시간x) 배치 처리에 최적화되어 있다.HDFS파일 구조를 관리하는 하나의 Name Node(마스터)와 복수 개의 Da.. AI 2024. 6. 14. [머신러닝] YOLO ver.3 code 서론Yolo는 one stage detector 실시간으로 탐지될 만큼 성능이 좋으며, ver.2의 경우 relet 잔차 개념을 뒷단에 적극적으로 사용. 26x26 13x13 조합하여 작은 객체로 탐지할 수 있다. ver.3부터 실무에 이용하며, 속도(inference time)역시 월등하게 빠름. 그러나 mAP는 그다지 향상되지 않는다.Abstract작은 변화가 있었다.RetinaNet보다 3.8배 더 빠르다.57.9 AP50 획득 및, 51ms 속도를 얻었다.Backbone modelconv층이 53개작은 물체 탐지를 위해 스케일이 3개로 나누어졌다.컨볼루션 층의 보폭을 조절해 나가며 디테일하게 스케일을 조정하여 피쳐맵을 만들어 tensor를 생성하였다.tensor의 구조는 yolo ver.1과 동일.. AI 2024. 6. 14. [머신러닝] object detection OVERVIEWAlogrithm기본 아이디어딥러닝에서 사용되던 object detection의 최초는 알고리즘이다. 우선 물체가 있을 만한 곳을 알고리즘을 통해(Region Proposal) 찾아낸 뒤 해당 물체를 CNN을 통해 분류했다(Region Classification).1. Rol(관심 영역) = Selective serch2. object or No object = objectness score3. Bounding box prediction (Bbox regression)4. Class prediction of each box (각 박스 별로 CLASS 예측)5. Non-maximum suppression(NMS) (가장 확률이 높은 박스를 추출)*NMS?box와 얼마나 겹치는지, IoU 리스.. AI 2024. 6. 14. 자살 고위험군 예측 실습을 위한 데이터 전처리 실습 준비(1) 라이브러리 importimport pandas as pdimport numpy as npfrom collections import Counterimport tensorflow as tfimport matplotlib.pyplot as plt%matplotlib inline(2) google drive 내 실습 데이터 파일 가져오기np.random.seed(3)tf.random.set_seed(3)df = pd.read_csv("/content/drive/MyDrive/MyLecture/2022/ML2022/suicide_data.csv")df 전처리데이터 feature가 범주형인지 수치형인지 확인해야 함. (실무에서는 협업 과정에서 알아내거나, 본인이 하거거나, customer측에서 알려.. AI 2024. 6. 14. 이전 1 다음