Flowchart tổng quan của phương pháp phân lớp

Một phần của tài liệu Phân lớp nhanh hình ảnh tế bào bạch cầu dựa vào đặc trưng sâu và tối ưu hóa bầy đàn (Trang 39)

4.2 Trích xuất đặc trưng (Feature Extraction)

Ý tưởng chính của transfer learning kết hợp với mạng CNN rất sâu là sử dụng một mạng sâu được huấn luyện trên một tập dữ liệu lớn như ImageNet (khoảng 1,2 triệu hình ảnh với 50.000

CHƯƠNG 4 PHƯƠNG PHÁP THỰC HIỆN 28

hình ảnh khác để validation và 100.000 hình ảnh để testing, trên 1000 vật thể khác nhau), và áp dụng nó để giải quyết một bài toán phân loại ảnh khác. Transfer learning giúp giảm thiểu thời gian và nỗ lực cần thiết để thiết kế và huấn luyện các mạng như vậy từ đầu. Vì mạng đã học được các đặc trưng có ý nghĩa từ tập dữ liệu huấn luyện chung, nên mạng có các đặc trưng cơ sở để tập trung giải quyết bài toán phân lớp của một loại hình ảnh cụ thể. Trong luận văn này, chúng tôi đề xuất sử dụng một kiến trúc CNN phổ biến và đáng tin cậy, VGG19.

VGGNet có số lượng kênh (chiều rộng của các tầng tích chập) tương đối nhỏ, từ 64 ở tầng đầu tiên tăng lên 512, tăng theo hệ số 2 sau mỗi tầng gộp cực đại. Tầng đầu vào có kích thước cố định là 224×224 pixel. Khi mỗi hình ảnh được chuyển qua một chồng các tầng tích chập, một sải bước (stride) sẽ được thêm vào để duy trì độ phân giải không gian. Công đoạn gộp được thực hiện bởi 5 tầng gộp cực đại trên một cửa sổ cụ thể với sải bước theo sau một vài nhưng không phải tất cả các tầng tích chập. Một chồng các tầng tích chập với độ sâu thay đổi ở các kiến trúc khác nhau được tiếp nối bởi ba tầng kết nối đầy đủ với 4096 kênh ở hai tầng đầu, trong khi tầng cuối sẽ thực hiện việc phân lớp. Trong trường hợp của chúng ta, tầng này chỉ chứa hai kênh (một cho mỗi lớp). Tầng cuối cùng là tầng softmax. Tất cả những tầng ẩn đều có một phi tuyến chỉnh lưu. Với mỗi ảnh X thuộc loại T của dữ liệu huấn luyện, tham số tối ưu là hàm mất mát Weighted Cross Entropy (WCE) nhị phân. Kiến trúc mạng VGG19 được mô tả như hình 4.2:

Hình 4.2:Cấu trúc tầng VGGNet và các thông số tương ứng

Trong bài toán nhận dạng vật thể, mạng neural network có thể coi như một thuật toán tự học cách biểu diễn dữ liệu cho bài toán nhận dạng (learned representation) với phần nhận dạng đơn giản (thường dùng Softmax và one-hot coding). Ta sẽ lấy đầu ra của layer gần cuối và coi như là feature vector để tiến hành xử lý, từ đó có thể đưa vô các thuật toán phân loại phức tạp hơn như SVM. Vì kích thước của hình ảnh đầu vào là (224, 224, 3) nên tầng cuối cùng được tạo ra từ VGGNet có kích thước (7, 7, 512), nghĩa là VGGNet trả về một vector đặc trưng có kích thước 7×7×512 = 25088 đặc trưng. Chúng tôi sẽ sử dụng giải thuật tối ưu hóa bầy đàn để đánh giá, loại bỏ các đặc trưng không tốt, sau đó kết hợp bộ phân lớp để đưa ra dự đoán.

CHƯƠNG 4 PHƯƠNG PHÁP THỰC HIỆN 29

4.3 Lựa chọn đặc trưng (Feature Extraction) sử dụng Salp Swarm Algorithm (SSA)

4.3.1 Biểu diễn bài toán phân lớp bằng giải thuật SSA cho công đoạn lựa chọn đặc trưng

4.3.1.1 Lựa chọn đặc trưng cho mô hình phân lớp

Một tập dữ liệu (còn được gọi là tập huấn luyện) thường bao gồm các hàng (được gọi là đối tượng) và các cột (được gọi là các đặc trưng) tương ứng với các lớp đã được xác định trước (dựa vào các đặc trưng quyết định). Phân loại là một nhiệm vụ chính trong khai phá dữ liệu, vai trò quan trọng của nó là đưa ra dự đoán lớp của một đối tượng chưa từng. Vấn đề chính có thể ảnh hưởng đến độ chính xác và hiệu suất của một bộ phân lớp cụ thể là số lượng lớn các đặc trưng trong tập dữ liệu có thể dư thừa hoặc không liên quan. Các đặc trưng dư thừa và không liên quan này có thể ảnh hưởng tiêu cực đến hiệu suất của bộ phân loại trên nhiều khía cạn, nhiều đặc trưng hơn cần yêu cầu thực hiện nhiều phép tính, điều này khiến bộ phân loại tốn nhiều thời gian hơn để huấn luyện. Hơn nữa, bộ phân loại học từ các đặc trưng không liên quan thường có độ chính xác phân loại thấp hơn so với các mô hình phân lớp dựa vào những đặc trưng thực sự có ý nghĩa. Điều này là do các đặc trưng không liên quan có thể đánh lừa bộ phân lớp và khiến mô hình dễ bị overfitting. Ngoài ra, dữ liệu dư thừa và không liên quan sẽ làm tăng độ phức tạp tính toán của mô hình. Có 3 lợi ích nổi bật của việc thực hiện lựa chọn đặc trưng:

• Giảm thời gian huấn luyện (ít đặc trưng hơn đồng nghĩa với việc thuật toán sẽ được huấn luyện nhanh hơn).

• Cải thiện độ chính xác (ít dữ liệu gây hiểu lầm giúp tăng độ hiệu quả của mô hình phân loại).

• Giảm over-fitting (xác suất phân loại thành công cao hơn).

Lựa chọn đặc trưng giúp xác định các đặc trưng dư thừa, không liên quan và loại bỏ chúng để nâng cao hiệu suất của bộ phân loại về thời gian học và độ chính xác, đồng thời đơn giản hóa kết quả để làm cho chúng dễ hiểu. Việc chọn lựa một chiến lược tìm kiếm thích hợp để tìm ra tập đặc trưng con tốt nhất là rất quan trọng trong việc nâng cao hiệu suất của giải thuật học. Bằng cách chọn ra đối tượng mang nhiều thông tin nhất và loại bỏ các đối tượng không thích hợp hoặc dư thừa, kích thước của không gian tìm kiếm sẽ được giảm xuống và tốc độ hội tụ của giải thuật sẽ được cải thiện. Về mặt này, Salp Swarm Algorithm (SSA) được chúng tôi lựa chọn để sử dụng như một công cụ tối ưu hiệu quả trong phương pháp Wrapper Feature Selection vì nó đã chứng minh được hiệu quả thỏa đáng trong việc giải quyết nhiều vấn đề tối ưu hóa dựa trên trí tuệ bầy đàn.

4.3.1.2 Phương pháp tìm kiếm bộ đặc trưng bằng SSA

SSA là một giải thuật tối ưu hóa mới xuất hiện gần đây và không được thiết kế để giải quyết các bài toán lựa chọn đặc trưng. SSA có nhiều đặc điểm độc đáo khiến nó được ưa thích sử dụng

CHƯƠNG 4 PHƯƠNG PHÁP THỰC HIỆN 30

làm công cụ tìm kiếm trong các bài toán tối ưu hóa toàn cục và lựa chọn đặc trưng. SSA hiệu quả, linh hoạt, đơn giản và dễ hiện thực. SSA chỉ có một tham số để cân bằng quá trình thăm dò và khai thác. Tham số này sẽ giảm khi số vòng lặp tăng lên, điều này cho phép SSA có thể khai phá được hầu hết không gian tìm kiếm tại những vòng lặp đầu tiên của giải thuật và sau đó khai thác những vùng tiềm năng ở giai đoạn cuối cùng. Hơn nữa, vị trí của các salp trong chuỗi salp được cập nhật dần dần theo các thành viên khác trong bầy đàn, điều này giúp SSA có thể tránh mắc bẫy tại một tối ưu cục bộ. Sự chuyển động dần dần này của các thành viên trong chuỗi salp giúp cho SSA có thể dễ dàng thoát khỏi các nghiệm địa phương. SSA giữ lại các tác nhân (salp) tốt nhất được tìm thấy tại thời điểm hiện tại và gán nó vào biến nguồn thức ăn, do đó ta sẽ luôn theo vết được nghiệm tốt nhất hiện tại của bài toán dù các nghiệm còn lại không thỏa mãn. Trong SSA, leader di chuyển dựa trên vị trí của nguồn thức ăn, đây là nghiệm tốt nhất cho đến hiện tại, vì vậy leader sẽ liên tục có khả năng khám phá và khai thác không gian gần nghiệm của bài toán.

Hình 4.3:Flowchart lựa chọn đặc trưng bằng SSA

Trong phần tiếp theo, chúng tôi sẽ sử dụng SSA làm giải thuật tìm kiếm trong phương pháp lựa chọn đặc trưng đóng gói (Wrapper Feature Selection). Trong đó, một hàm mục tiêu (fitness

CHƯƠNG 4 PHƯƠNG PHÁP THỰC HIỆN 31

function) sẽ được định nghĩa để phù hợp với yêu cầu của bài toán, nghĩa là bộ đặc trưng được chọn phải giúp cho phân lớp đạt hiệu quả cao đồng thời phải có kích thước nhỏ. Chúng tôi sẽ đề xuất hai cải tiến để cải thiện hiệu năng của giải thuật và giúp cho SSA phù hợp với bài toán lựa chọn đặc trưng. Đầu tiên, chúng tôi sẽ thêm một trọng số quán tính để cải thiện tốc độ hội tụ của giải thuật. Đồng thời, SSA sẽ được chuyển sang dạng nhị phân để giải quyết Feature Selection vì ban đầu giải thuật được thiết kế để giải quyết các vấn đề tối ưu hóa dạng liên tục. Trong SSA dạng liên tục, các thành viên trong chuỗi salp có thể thay đổi vị trí của chúng đến bất kỳ điểm nào trong không gian tìm kiếm, trong khi trong Feature Selection, những chuyển động này sẽ bị giới hạn ở các giá trị 0 và 1. Các giá trị dạng binary này tương ứng với việc đặc trưng được chọn hay không chọn trong bộ đặc trưng cuối cùng. Flowchart của công đoạn lựa chọn đặc trưng sử dụng SSA được thể hiện trong hình 4.3.

4.3.2 Những cải tiến trên giải thuật SSA để tăng hiệu quả lựa chọn đặc trưng

4.3.2.1 Hàm mục tiêu (Fitness Function)

Để xây dựng Feature Selection (lựa chọn đặc trưng) thành một bài toán tối ưu hóa, ta cần xem xét hai điểm chính, thứ nhất là làm thế nào để giải bài toán, thứ hai là làm thế nào để đánh giá nó. Chúng tôi sẽ biểu diễn tập đặc trưng con được chọn thành một feature vector nhị phân có độ dài bằng kích thước của tập đặc trưng được trích xuất từ hình ảnh tế bào bạch cầu nhờ mạng VGG19 (25088 đặc trưng). Nếu một đặc trưng được gán bằng 1 nghĩa là nó được chọn, ngược lại thì chưa. Để đánh giá mức độ tốt của một tập hợp con các đặc trưng, ta sẽ mô hình hóa lựa chọn đặc trưng như một bài toán tối ưu đa mục tiêu trong đó hai mục tiêu mâu thuẫn nhau phải được thỏa mãn. Đó là độ chính xác phân loại tối đa (tỷ lệ lỗi thấp nhất) và đồng thời số lượng đặc trưng được chọn là tối thiểu. Nghiệm tối ưu là nghiệm phải có một số lượng nhỏ các đặc trưng được chọn và độ chính xác phân loại cao. Độ chính xác của các bộ phân loại KNN và SVM được sử dụng như một hàm mục tiêu để đánh giá hiệu suất của tất cả các salp (tập những feature được chọn). Để cân bằng giữa số lượng đặc trưng được chọn và độ chính xác phân loại, hàm mục tiêu (fitness function) trong phương trình 4.1 được sử dụng để đánh giá các salp:

Fitness=α∗Err(D) +β∗|F|

|T| (4.1)

Trong đó, Err( D) là tỉ lệ phân lớp lỗi của một bộ phân loại nhất định và |F|

|T| là tỉ lệ giữa số đặc trưng được chọn và tổng số đặc trưng trong tập dữ liệu ban đầu. Hai tham sốα ∈[0,1]và

β =1−α để cân bằng và điều chỉnh mức độ quan trọng giữa độ chính xác của bộ phân lớp và kích thước tập đặc trưng được chọn.

4.3.2.2 Trọng số quán tính để cải thiện tốc độ hội tụ

Ta có phương trình cập nhật vị trí của leader salp trong giải thuật SSA:

x1j = (

Fj+c1((ubj−lbj)×c2+lbj) c3≤0

CHƯƠNG 4 PHƯƠNG PHÁP THỰC HIỆN 32

F là nguồn thức ăn, chính là nghiệm tốt nhất hiện tại. Mục tiêu của giải thuật là từ điểm tốt nhất hiện tại ta có thể mở rộng ra các vị trí lân cận để tìm kiếm những vị trí tốt hơn. Ở đây, ta có thể hiểu F chính là thể hiện khai thác tốt nhất và phần còn lại là sự thăm dò tìm kiếm. Trong SSA, các nghiệm được cập nhật chủ yếu dựa trên nghiệm tốt nhất hiện tại. Chúng tôi sẽ cải tiến SSA tương tự như một giải thuật tối ưu bầy đàn khác là PSO, nghĩa là một trọng số quán tính

ω∈[0; 1]sẽ được thêm vào phương trình cập nhật vị trí của leader salp: x1j=

(

ωFj+c1((ubj−lbj)×c2+lbj) c3≤0

ωFj−c1((ubj−lbj)×c2+lbj) c3>0 (4.3) Trọng số quán tính quy định việc giữ lại vị trí bằng bao nhiêu so với vị trí ở bước trước. Trọng số quán tínhω có thể điều chỉnh được hành vi hội tụ của giải thuật SSA. Các trọng số lớn thường sẽ dẫn đến việc thuật toán tối ưu toàn cục tuy nhiên tốc độ hội tụ sẽ chậm, trong khi trọng số thấp có thể làm thuật toán hội tụ tại các điểm tối ưu cục bộ. Trọng số quán tính nếu được chọn giá trị phù hợp thì có thể tạo ra sự cân bằng giữa khả năng thăm dò toàn cầu và cục bộ của giải thuật. Cụ thể, lựa chọn thích hợp cho trọng số quán tính sẽ tạo ra những lợi ích:

• Điều chỉnh độ khai thác và thăm dò để có thể phù hợp với mục đích của các bài toán tối ưu khác nhau. Trọng lượng quán tính lớn hơn tạo điều kiện cho việc "khám phá toàn cầu" trong khi trọng lượng quán tính nhỏ tạo điều kiện cho việc "sàng lọc cục bộ".

• Với ω nằm trong khoảng [0,1], quá trình khai thác và thăm dò được cân bằng, từ đó hạn chế rơi vào các điểm tối ưu cục bộ. Nhưng với trọng lượng quán tính lớn hơnω ≥1, ta nhận thấy giải thuật sẽ gặp nhiều lỗi hơn trong quá trình hội tụ.

• Việc cân bằng thăm dò toàn cục và cục bộ yêu cầu ít vòng lặp hơn để hội tụ tại điểm tối ưu, từ đó giúp tăng tốc độ hội tụ của thuật toán.

Trong luận văn này, chúng tôi đã nghiên cứu và quyết định sử dụng trọng số quán tínhω =0.7

để tăng hiệu suất hội tụ cho giải thuật tối ưu hóa bầy đàn SSA.

4.3.2.3 Biểu diễn SSA dưới dạng nhị phân

Trong các bài toán lựa chọn đặc trưng, các nghiệm được giới hạn về các giá trị nhị phân dạng [0,1]. Với thuật toán SSA được sử dụng trong bài toán lựa chọn đặc trưng, chúng ta sẽ phát triển SSA thành một phiên bản binary. Trong phương pháp này, một nghiệm được định nghĩa là một vectơ một chiều, trong đó độ dài của vectơ là số lượng các đặc trưng trong tập dữ liệu ban đầu. Mỗi phần tử của vectơ có giá trị 1 hoặc 0. Giá trị 1 có nghĩa là đặc trưng tương ứng được chọn, ngược lại giá trị 0 cho biết là đặc trưng đó không được chọn. Phương trình 4.4 được sử dụng để ánh xạ các giá trị liên tục trong giải thuật SSA thành các giá trị nhị phân.

Zmn= (

1 ifXmn>0.5

0 otherwise (4.4)

trong đó,Zmn là dạng rời rạc (nhị phân) của vector nghiệmX vàXmn là vị trí dạng liên tục của cá thể salp thứmtrong quần thể tại chiều thứn.

Hình 4.4 thể hiện một ví dụ bài toán lựa chọn đặc trưng. Cụ thể có tất cả 7 đặc trưng. Trong đó các đặc trưng 1, 4, 6, 7 có giá trị là 1 (đặc trưng được lựa chọn) trong khi các đặc trưng 2, 3 ,5 có giá trị là 0 nghĩa là chúng sẽ bị loại bỏ.

CHƯƠNG 4 PHƯƠNG PHÁP THỰC HIỆN 33

Hình 4.4:Một ví dụ về một tập đặc trưng con

4.3.2.4 Dùng transfer function để chuyển đổi SSA về dạng nhị phân

Như đã trình bày ở phần trên, để phù hợp với bài toán lựa chọn đặc trưng, SSA cần được chuyển đổi từ dạng liên tục sang dạng nhị phân. Theo Mirjalili và Lewis [36], một trong những cách hiệu quả nhất để chuyển đổi một giải thuật từ dạng liên tục sang dạng nhị phân là sử dụng transfer function (TF). Chúng tôi sẽ sử dụng 4 TF thuộc họ S-shaped để chuyển SSA về dạng binary. Mục đích của một TF là định nghĩa một xác suất để cập nhật một phần tử trong vector đặc trưng về dạng 1 (được chọn) hoặc 0 (không được chọn) như trong phương trìhn 4.5. Cách làm này đã được Kennedy và Eberhart đề xuất sử dụng để chuyển đổi giải thuật PSO gốc về dạng nhị phân.

T(xij(t)) = 1

1+exp−xij(t)

(4.5)

trong đóxijlà phần tử thứitrong chiều thứ jtrong vector đặc trưng (salp) vàt là vòng lặp hiện tại.

Mỗi phần tử trong vector đặc trưng trong vòng lặp tiếp theo được cập nhật theo phương trình 4.6:

xij(t+1) = (

0 ifrand<T(xij(t+1))

1 ifrand≥T(xij(t+1)) (4.6) trong đóxij(t+1)là phần tử thứitrong chiều thứ jtrong vector đặc trưng (salp) vàT(xij(t+1)) là giá trị xác suất được tính theo phương trình 4.5.

Hình 4.5:Biểu diễn toán học các hàm transfer function

CHƯƠNG 4 PHƯƠNG PHÁP THỰC HIỆN 34

Hình 4.6:Đồ thị các hàm transfer function

Flowchart của giải thuật SSA sử dụng transfer function được biểu diễn trong hình 4.7.

Một phần của tài liệu Phân lớp nhanh hình ảnh tế bào bạch cầu dựa vào đặc trưng sâu và tối ưu hóa bầy đàn (Trang 39)

Tải bản đầy đủ (PDF)

(62 trang)