feat(agent): add result-verifier for blind visual comparison
Root cause: test-runner was giving overly optimistic results due to: 1. Context bias - knew the implementation, tended to defend it 2. No actual visual comparison - just wrote 'ACCEPTABLE' without looking 3. No structural validation - accepted 35x scale differences as 'acceptable' Solution: - New result-verifier agent that performs blind visual comparison - Strict pass/fail criteria for structural validation - Updated test-runner to use result-verifier for each figure - Clear guidelines: structural mismatches = FAIL, not ACCEPTABLE Test result: verifier correctly identified Fig3 as FAIL with 7 specific issues: - Wrong X-axis variable (channels vs power) - Wrong Y-axis scale (5x difference) - Wrong curve count (5 vs 4) - etc.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# Image Understanding
|
||||
|
||||
## Summary
|
||||
- Total images: 6
|
||||
- Architecture diagrams: 1
|
||||
- Experiment figures: 5
|
||||
- Other: 0
|
||||
|
||||
---
|
||||
|
||||
## Figure 1: The structure of semantic-aware networks
|
||||
**Type**: Architecture
|
||||
**Priority**: LOW
|
||||
**Key insight**: Shows a base station communicating with multiple users. Each user generates semantic symbols via a neural network model from their devices before transmission.
|
||||
|
||||
## Figure 2: The semantic similarity for DeepSC
|
||||
**Type**: Plot
|
||||
**Priority**: MEDIUM
|
||||
**Key insight**: 3D surface plot showing how semantic similarity ($\xi_{n,m}$) depends on SNR (-10 to 20 dB) and the number of symbols per word ($k_n$, 0 to 20). High SNR and higher $k_n$ lead to semantic similarity approaching 1.0.
|
||||
|
||||
## Figure 3: The S-SE of the semantic-aware network with different models
|
||||
**Type**: Plot
|
||||
**Priority**: HIGH
|
||||
**Key insight**: Line plot showing S-SE ($\Phi$) vs Number of channels ($M$). The proposed model achieves the highest S-SE (plateauing at 1.2), significantly outperforming conventional models with various fixed $k_n$ values.
|
||||
|
||||
## Figure 4(a): The S-SE versus the number of channels
|
||||
**Type**: Plot
|
||||
**Priority**: HIGH
|
||||
**Key insight**: Compares Semantic, Ideal, 5G, and 4G systems. Semantic achieves the highest S-SE (1.2 at $M \ge 5$), followed by Ideal, 5G, and 4G.
|
||||
|
||||
## Figure 4(b): The S-SE versus the transmit power
|
||||
**Type**: Plot
|
||||
**Priority**: HIGH
|
||||
**Key insight**: S-SE vs Transmit power (-40 to 23 dBm). The Semantic system quickly rises and plateaus around 10 dBm, outperforming 4G and 5G. The Ideal system grows continuously and overtakes the Semantic system at very high transmit power (around 18-20 dBm).
|
||||
|
||||
## Figure 4(c): The S-SE versus the transforming factor
|
||||
**Type**: Plot
|
||||
**Priority**: HIGH
|
||||
**Key insight**: S-SE vs Transforming factor $\mu$ (bits/word) from 18 to 40. Semantic performance is constant (~1.18). Ideal, 5G, and 4G S-SE decrease as $\mu$ increases. Semantic outperforms 5G and 4G for $\mu > 19$, and outperforms Ideal for $\mu > 27$.
|
||||
@@ -0,0 +1,91 @@
|
||||
# Paper Structure Analysis
|
||||
|
||||
## Basic Information
|
||||
- **Title**: Resource Allocation for Text Semantic Communications
|
||||
- **Authors**: Lei Yan, Zhijin Qin, Rui Zhang, Yongzhao Li, Geoffrey Ye Li
|
||||
- **Year**: 2022
|
||||
- **Venue**: IEEE Wireless Communications Letters
|
||||
|
||||
## Abstract Summary
|
||||
This paper introduces semantic spectral efficiency (S-SE) as a new metric to measure communication efficiency from a semantic perspective. Taking text semantic communication (using DeepSC) as an example, the authors formulate and solve a resource allocation problem to maximize overall S-SE via channel assignment and semantic symbol length optimization. A transform method is also proposed for fair comparison between bit-based and semantic-based communication systems.
|
||||
|
||||
## Problem Statement
|
||||
Conventional communications use bit-based spectral efficiency, which is not applicable for semantic communications as bits are irrelevant to the meaning of the source. Resource allocation needs to be rethought from the semantic perspective to maximize communication efficiency while guaranteeing transmission reliability in semantic-aware networks.
|
||||
|
||||
## Key Contributions
|
||||
1. Proposing a novel resource allocation model for semantic-aware networks by defining Semantic Spectral Efficiency (S-SE) for the first time.
|
||||
2. Formulating and solving an optimization problem to maximize overall S-SE in terms of channel assignment and the number of transmitted semantic symbols.
|
||||
3. Developing a transform method to convert bit-based SE to S-SE to make fair comparisons between semantic and conventional communication systems.
|
||||
|
||||
## Method Overview
|
||||
|
||||
### Architecture
|
||||
The system consists of a cellular network with a base station and multiple users. DeepSC is adopted as the semantic communication model for text transmission, utilizing Transformer architecture to map sentences to semantic symbols. The symbol vector length varies based on the sentence length and the average number of semantic symbols per word ($k_n$). The receiver decodes the symbols using a channel decoder and semantic decoder, evaluated by BERT-level semantic similarity.
|
||||
Reference to `Figure 1: The structure of semantic-aware networks` from `image_understanding.md`.
|
||||
|
||||
### Key Components
|
||||
| Component | Description | Implementation Priority |
|
||||
|-----------|-------------|------------------------|
|
||||
| Semantic Spectral Efficiency (S-SE) Metric | Defines the effectively transmitted semantic information over a unit of bandwidth. | High |
|
||||
| DeepSC Transmitter/Receiver | Transformer-based semantic encoder/decoder. | Low (Pre-trained look-up table used) |
|
||||
| Resource Allocation Optimizer | Solves for optimal $k_n$ and channel assignment $\alpha_{n,m}$ using exhaustive search and the Hungarian algorithm. | High |
|
||||
| Transform Method & Baselines | Converts conventional bit-based SE to S-SE based on a transforming factor $\mu$ (bits/word). Evaluates Ideal, 4G, and 5G baselines. | High |
|
||||
|
||||
### Mathematical Formulation
|
||||
S-R (Semantic transmission rate) and S-SE (Semantic spectral efficiency):
|
||||
|
||||
$$
|
||||
\Gamma_{n, m} = \frac{W I}{k_n L} \xi_{n, m}
|
||||
$$
|
||||
|
||||
$$
|
||||
\Phi_{n, m} = \frac{\Gamma_{n, m}}{W} = \frac{I}{k_n L} \xi_{n, m}
|
||||
$$
|
||||
|
||||
Optimization Objective (P0/P1) to maximize total S-SE:
|
||||
|
||||
$$
|
||||
\max_{\boldsymbol{\alpha}_n, k_n} \widetilde{\Phi} = \sum_{n=1}^{N} \sum_{m=1}^{M} \alpha_{n, m} \frac{\xi_{n, m}}{k_n}
|
||||
$$
|
||||
|
||||
### Training Details
|
||||
- **Optimizer**: DeepSC is pre-trained; the resource allocation uses Hungarian algorithm & exhaustive search.
|
||||
- **Hardware**: Assumed pre-trained at the BS or cloud platforms.
|
||||
- **Note**: The paper abstracts the DeepSC performance into a mapping between $\xi_{n,m}$ (semantic similarity), $k_n$, and SNR $\gamma_{n,m}$ over an AWGN channel.
|
||||
|
||||
## Experiments
|
||||
|
||||
### Datasets
|
||||
| Dataset | Size | Purpose |
|
||||
|---------|------|---------|
|
||||
| Synthetic Cellular Network | N=5, M=5 (default) | Resource allocation optimization simulation |
|
||||
| Text dataset (implicit) | N/A | To obtain DeepSC semantic similarity performance look-up table |
|
||||
|
||||
### Metrics
|
||||
- **Semantic similarity ($\xi$)**: Evaluated using pre-trained Sentence-BERT model.
|
||||
- **Semantic Spectral Efficiency (S-SE)**: Measured in suts/s/Hz.
|
||||
- **Transforming factor ($\mu$)**: Measured in bits/word.
|
||||
|
||||
### Key Results
|
||||
- The proposed resource allocation model maximizes S-SE, significantly outperforming conventional models with fixed $k_n$.
|
||||
- The semantic communication system achieves higher S-SE than 4G and 5G systems for text transmission when the transforming factor $\mu > 19$ bits/word.
|
||||
- It outperforms the ideal Shannon limit system when $\mu > 27$ bits/word.
|
||||
Reference to Figure 3, Figure 4a, Figure 4b, Figure 4c from `image_understanding.md`.
|
||||
|
||||
## Appendix Notes
|
||||
No supplementary material findings explicitly stated, but baseline implementation details refer to 3GPP TS 36.213 (4G) and TS 38.214 (5G) tables for CQI to SE mapping.
|
||||
|
||||
## Data Source Labeling
|
||||
|
||||
### Figure 3: S-SE with different models
|
||||
| Data Point | Value | Source | Reliability |
|
||||
|------------|-------|--------|-------------|
|
||||
| S-SE Proposed Model Plateau | ~1.2 | Image extraction | REFERENCE ONLY |
|
||||
|
||||
### Figure 4a, 4b, 4c: Comparison curves
|
||||
| Data Point | Value | Source | Reliability |
|
||||
|------------|-------|--------|-------------|
|
||||
| S-SE Semantic (M>=5) | ~1.2 | Image extraction | REFERENCE ONLY |
|
||||
| Semantic transmit power plateau | ~10 dBm | Image extraction | REFERENCE ONLY |
|
||||
| $\mu$ cross point (Semantic vs 5G/4G) | 19 | Paper text, Section IV.C | HIGH |
|
||||
| $\mu$ cross point (Semantic vs Ideal) | 27 | Paper text, Section IV.C | HIGH |
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 324 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 77 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 68 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 75 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 76 KiB |
@@ -0,0 +1,212 @@
|
||||
"""
|
||||
Reference plots for Resource Allocation for Text Semantic Communications
|
||||
Generated from paper images for verification purposes.
|
||||
|
||||
Run: python reference_plots.py
|
||||
Output: workspace/resource_allocation/analysis/reference_images/
|
||||
"""
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
from pathlib import Path
|
||||
from scipy.interpolate import PchipInterpolator
|
||||
|
||||
OUTPUT_DIR = Path("workspace/resource_allocation/analysis/reference_images")
|
||||
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
def plot_figure_2():
|
||||
"""
|
||||
Figure 2: The semantic similarity for DeepSC
|
||||
"""
|
||||
fig = plt.figure(figsize=(10, 8))
|
||||
ax = fig.add_subplot(111, projection="3d")
|
||||
|
||||
# Generate data
|
||||
snr = np.linspace(-10, 20, 30)
|
||||
k_n = np.linspace(0, 20, 30)
|
||||
SNR, KN = np.meshgrid(snr, k_n)
|
||||
|
||||
# Approximate function for similarity
|
||||
# Logistic-like function depending on SNR and k_n
|
||||
z = 0.4 + 0.6 / (1 + np.exp(-0.3 * (SNR + 5)) * np.exp(-0.2 * (KN - 5)))
|
||||
z = np.clip(z, 0.4, 1.0)
|
||||
|
||||
surf = ax.plot_surface(SNR, KN, z, cmap="viridis", edgecolor="none", alpha=0.9)
|
||||
|
||||
ax.set_xlabel("SNR, $\gamma_{n,m}$ (dB)")
|
||||
ax.set_ylabel("$k_n$ (symbols/word)")
|
||||
ax.set_zlabel(r"$\xi_{n,m}$")
|
||||
ax.set_zlim(0.4, 1.0)
|
||||
|
||||
ax.view_init(elev=30, azim=225)
|
||||
plt.savefig(OUTPUT_DIR / "fig2.png", dpi=150)
|
||||
plt.close()
|
||||
print("Generated: fig2.png")
|
||||
|
||||
|
||||
def plot_figure_3():
|
||||
"""
|
||||
Figure 3: The S-SE of the semantic-aware network with different models
|
||||
"""
|
||||
M = np.arange(1, 11)
|
||||
|
||||
# Approximate values from visual inspection
|
||||
proposed = np.array([0.24, 0.48, 0.72, 0.96, 1.18, 1.20, 1.20, 1.20, 1.20, 1.20])
|
||||
conv_k3 = np.zeros(10)
|
||||
conv_k5 = np.array([0.20, 0.39, 0.58, 0.77, 0.94, 0.96, 0.97, 0.97, 0.97, 0.97])
|
||||
conv_k7 = np.array([0.14, 0.28, 0.42, 0.56, 0.70, 0.70, 0.70, 0.70, 0.70, 0.70])
|
||||
conv_k9 = np.array([0.11, 0.22, 0.33, 0.44, 0.54, 0.54, 0.54, 0.54, 0.54, 0.54])
|
||||
|
||||
plt.figure(figsize=(8, 6))
|
||||
plt.plot(M, proposed, "rd-", label="Proposed model")
|
||||
plt.plot(M, conv_k3, "ko-", label="Conventional model, $k_n = 3$", fillstyle="none")
|
||||
plt.plot(M, conv_k5, "k+-", label="Conventional model, $k_n = 5$")
|
||||
plt.plot(M, conv_k7, "k*-", label="Conventional model, $k_n = 7$")
|
||||
plt.plot(M, conv_k9, "kx-", label="Conventional model, $k_n = 9$")
|
||||
|
||||
plt.xlabel("Number of channels, $M$")
|
||||
plt.ylabel("S-SE, $\Phi$ (suts/s/Hz) $\\times (I/L)$")
|
||||
plt.xticks(np.arange(1, 11))
|
||||
plt.yticks(np.arange(0, 1.5, 0.2))
|
||||
plt.grid(True)
|
||||
plt.legend(loc="lower right")
|
||||
plt.xlim(1, 10)
|
||||
plt.ylim(0, 1.3)
|
||||
|
||||
plt.savefig(OUTPUT_DIR / "fig3.png", dpi=150)
|
||||
plt.close()
|
||||
print("Generated: fig3.png")
|
||||
|
||||
|
||||
def plot_figure_4a():
|
||||
"""
|
||||
Figure 4(a): The S-SE versus the number of channels
|
||||
"""
|
||||
M = np.arange(1, 11)
|
||||
|
||||
# Approximate values from visual inspection
|
||||
semantic = np.array([0.24, 0.48, 0.72, 0.96, 1.18, 1.20, 1.20, 1.20, 1.20, 1.20])
|
||||
ideal = np.array([0.21, 0.40, 0.55, 0.68, 0.79, 0.82, 0.84, 0.85, 0.86, 0.87])
|
||||
g5 = np.array([0.13, 0.26, 0.37, 0.47, 0.56, 0.58, 0.59, 0.60, 0.60, 0.60])
|
||||
g4 = np.array([0.12, 0.23, 0.31, 0.39, 0.46, 0.48, 0.49, 0.49, 0.50, 0.50])
|
||||
|
||||
plt.figure(figsize=(8, 6))
|
||||
plt.plot(M, semantic, "rd-", label="Semantic")
|
||||
plt.plot(M, ideal, "ko-", label="Ideal", fillstyle="none")
|
||||
plt.plot(M, g5, "k*-.", label="5G")
|
||||
plt.plot(M, g4, "ks--", label="4G", fillstyle="none")
|
||||
|
||||
plt.xlabel("Number of channels, $M$")
|
||||
plt.ylabel("S-SE, $\Phi$ (suts/s/Hz) $\\times (I/L)$")
|
||||
plt.xticks(np.arange(1, 11))
|
||||
plt.yticks(np.arange(0, 1.6, 0.2))
|
||||
plt.grid(True)
|
||||
plt.legend(loc="upper left")
|
||||
plt.xlim(1, 10)
|
||||
plt.ylim(0, 1.4)
|
||||
|
||||
plt.savefig(OUTPUT_DIR / "fig4a.png", dpi=150)
|
||||
plt.close()
|
||||
print("Generated: fig4a.png")
|
||||
|
||||
|
||||
def plot_figure_4b():
|
||||
"""
|
||||
Figure 4(b): The S-SE versus the transmit power
|
||||
"""
|
||||
p_n = np.arange(-40, 25, 5)
|
||||
|
||||
# Approximate function to match shapes
|
||||
# Semantic: logistic curve
|
||||
semantic = 1.21 / (1 + np.exp(-0.25 * (p_n + 5)))
|
||||
|
||||
# Ideal: mostly linear in higher dBm, slower in lower
|
||||
# Use Shannon approx log2(1 + SNR)
|
||||
snr_linear_ideal = 10 ** ((p_n - 10) / 10) # arbitrary scaling to match
|
||||
ideal = 0.15 * np.log2(1 + 10 ** ((p_n + 15) / 10))
|
||||
ideal = np.clip(ideal, 0, 1.35)
|
||||
|
||||
# 5G and 4G: similar to semantic but lower cap and shifted
|
||||
g5 = 0.7 / (1 + np.exp(-0.15 * (p_n - 5)))
|
||||
g4 = 0.68 / (1 + np.exp(-0.15 * (p_n - 8)))
|
||||
|
||||
# Slight manual adjustments to match visual points
|
||||
ideal = np.interp(
|
||||
p_n,
|
||||
[-40, -30, -20, -10, 0, 10, 20, 23],
|
||||
[0.0, 0.01, 0.05, 0.15, 0.38, 0.72, 1.15, 1.32],
|
||||
)
|
||||
|
||||
plt.figure(figsize=(8, 6))
|
||||
plt.plot(p_n, semantic, "rd-", label="Semantic")
|
||||
plt.plot(p_n, ideal, "ko-", label="Ideal", fillstyle="none")
|
||||
plt.plot(p_n, g5, "k*-.", label="5G")
|
||||
plt.plot(p_n, g4, "ks--", label="4G", fillstyle="none")
|
||||
|
||||
plt.xlabel("Transmit power, $p_n$ (dBm)")
|
||||
plt.ylabel("S-SE, $\Phi$ (suts/s/Hz) $\\times (I/L)$")
|
||||
plt.xticks([-40, -30, -20, -10, 0, 10, 23])
|
||||
plt.yticks(np.arange(0, 1.6, 0.2))
|
||||
plt.grid(True)
|
||||
plt.legend(loc="upper left")
|
||||
plt.xlim(-40, 23)
|
||||
plt.ylim(0, 1.4)
|
||||
|
||||
plt.savefig(OUTPUT_DIR / "fig4b.png", dpi=150)
|
||||
plt.close()
|
||||
print("Generated: fig4b.png")
|
||||
|
||||
|
||||
def plot_figure_4c():
|
||||
"""
|
||||
Figure 4(c): The S-SE versus the transforming factor
|
||||
"""
|
||||
mu = np.arange(18, 42, 2)
|
||||
|
||||
# Values extracted from plot visually
|
||||
semantic = np.ones_like(mu) * 1.18
|
||||
|
||||
# Conventional decrease roughly as 1/mu
|
||||
# Ideal at mu=18 is ~1.78. 1.78 * 18 = 32.04
|
||||
ideal = 32.04 / mu
|
||||
|
||||
# 5G at mu=18 is ~1.25. 1.25 * 18 = 22.5
|
||||
g5 = 22.5 / mu
|
||||
|
||||
# 4G at mu=18 is ~1.02. 1.02 * 18 = 18.36
|
||||
g4 = 18.36 / mu
|
||||
|
||||
plt.figure(figsize=(8, 6))
|
||||
plt.plot(mu, semantic, "rd-", label="Semantic")
|
||||
plt.plot(mu, ideal, "ko-", label="Ideal", fillstyle="none")
|
||||
plt.plot(mu, g5, "k*-.", label="5G")
|
||||
plt.plot(mu, g4, "ks--", label="4G", fillstyle="none")
|
||||
|
||||
plt.xlabel("Transforming factor, $\mu$ (bits/word)")
|
||||
plt.ylabel("S-SE, $\Phi$ (suts/s/Hz) $\\times (I/L)$")
|
||||
plt.xticks(np.arange(18, 42, 2))
|
||||
plt.yticks(np.arange(0.4, 2.0, 0.2))
|
||||
plt.grid(True)
|
||||
plt.legend(loc="upper right")
|
||||
plt.xlim(18, 40)
|
||||
plt.ylim(0.4, 1.8)
|
||||
|
||||
plt.savefig(OUTPUT_DIR / "fig4c.png", dpi=150)
|
||||
plt.close()
|
||||
print("Generated: fig4c.png")
|
||||
|
||||
|
||||
def main():
|
||||
"""Generate all reference plots."""
|
||||
print("Generating reference plots...")
|
||||
plot_figure_2()
|
||||
plot_figure_3()
|
||||
plot_figure_4a()
|
||||
plot_figure_4b()
|
||||
plot_figure_4c()
|
||||
print(f"\nAll plots saved to: {OUTPUT_DIR}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,90 @@
|
||||
# Replication Plan
|
||||
|
||||
## Scope
|
||||
The core goal of this replication is to implement the semantic-aware resource allocation algorithm (Hungarian algorithm for channel assignment + exhaustive search for optimal $k_n$) and the transform method for fair comparison.
|
||||
**Out of scope:** The DeepSC neural network training and NLP text processing. Instead, we will simulate the pre-trained DeepSC behavior using a parameterized surrogate function or look-up table mapping SNR and $k_n$ to semantic similarity ($\xi$). The user explicitly requested NOT to reproduce Figure 2, so the focus will be entirely on Figures 3, 4a, 4b, and 4c.
|
||||
|
||||
## Implementation Order
|
||||
|
||||
### Module 1: Environment & Channel Simulator
|
||||
- **File**: `src/models/environment.py`
|
||||
- **Dependencies**: None
|
||||
- **Test file**: `tests/test_environment.py`
|
||||
- **Acceptance criteria**:
|
||||
- [ ] Generate N users and M channels with specified bandwidth
|
||||
- [ ] Apply pathloss (128.1 + 37.6 lg[d(km)] dB) and shadow fading (6 dB)
|
||||
- [ ] Calculate SNR $\gamma_{n,m}$ based on noise power and Rayleigh fading
|
||||
|
||||
### Module 2: Semantic Similarity Surrogate
|
||||
- **File**: `src/models/semantic_model.py`
|
||||
- **Dependencies**: `src/models/environment.py`
|
||||
- **Test file**: `tests/test_semantic_model.py`
|
||||
- **Acceptance criteria**:
|
||||
- [ ] Given SNR and $k_n$, returns a simulated semantic similarity $\xi \in [0, 1]$
|
||||
- [ ] Higher SNR and higher $k_n$ strictly increase $\xi$
|
||||
|
||||
### Module 3: Resource Allocation Optimizer
|
||||
- **File**: `src/models/allocator.py`
|
||||
- **Dependencies**: `src/models/semantic_model.py`, `src/models/environment.py`
|
||||
- **Test file**: `tests/test_allocator.py`
|
||||
- **Acceptance criteria**:
|
||||
- [ ] Implement exhaustive search over $k_n \in [1, K]$ to find optimal $\widetilde{\Phi}_{n,m}$
|
||||
- [ ] Implement Hungarian algorithm for bipartite channel assignment ($\alpha_{n,m}$)
|
||||
- [ ] Compute overall S-SE for the proposed model and conventional/fixed models
|
||||
|
||||
### Module 4: Transform Method & Baselines
|
||||
- **File**: `src/models/baselines.py`
|
||||
- **Dependencies**: `src/models/environment.py`
|
||||
- **Test file**: `tests/test_baselines.py`
|
||||
- **Acceptance criteria**:
|
||||
- [ ] Implement Ideal Shannon limit SE calculation
|
||||
- [ ] Implement 4G and 5G CQI to SE mapping lookup
|
||||
- [ ] Implement transform method: calculate equivalent S-SE given transforming factor $\mu$
|
||||
|
||||
### Module 5: Evaluation & Plotting
|
||||
- **File**: `src/evaluate.py`
|
||||
- **Dependencies**: All of the above
|
||||
- **Test file**: None (creates final plots)
|
||||
- **Acceptance criteria**:
|
||||
- [ ] Generate outputs corresponding to target Figures 3, 4a, 4b, 4c.
|
||||
|
||||
## Replication Targets
|
||||
|
||||
### Figure 3: S-SE of the semantic-aware network with different models
|
||||
- **Type**: Line Plot
|
||||
- **Data source**: Resource allocation output (Module 3) vs fixed $k_n$ baselines
|
||||
- **Priority**: High
|
||||
- **Expected values**: Proposed model S-SE > fixed $k_n$ models. Plateau expected around ~1.2 S-SE. (REFERENCE ONLY)
|
||||
|
||||
### Figure 4(a): S-SE versus the number of channels
|
||||
- **Type**: Line Plot
|
||||
- **Data source**: Evaluation loop varying channels M from 1 to 10
|
||||
- **Priority**: High
|
||||
- **Expected values**: Semantic > Ideal > 5G > 4G for M>=5. (REFERENCE ONLY)
|
||||
|
||||
### Figure 4(b): S-SE versus the transmit power
|
||||
- **Type**: Line Plot
|
||||
- **Data source**: Evaluation loop varying transmit power (-40 to 23 dBm)
|
||||
- **Priority**: High
|
||||
- **Expected values**: Semantic plateaus around 10 dBm, Ideal grows continuously and overtakes Semantic. (REFERENCE ONLY)
|
||||
|
||||
### Figure 4(c): S-SE versus the transforming factor
|
||||
- **Type**: Line Plot
|
||||
- **Data source**: Evaluation loop varying $\mu$ (bits/word) from 18 to 40
|
||||
- **Priority**: High
|
||||
- **Expected values**: Semantic outperforms 5G and 4G for $\mu > 19$, and outperforms Ideal for $\mu > 27$. (HIGH Reliability)
|
||||
|
||||
## Environment Requirements
|
||||
- Python >= 3.10
|
||||
- NumPy >= 1.23.0
|
||||
- SciPy >= 1.9.0 (for linear_sum_assignment)
|
||||
- Matplotlib >= 3.6.0
|
||||
|
||||
## Estimated Effort
|
||||
- Core model: 4 hours
|
||||
- Training pipeline (Optimization loop): 2 hours
|
||||
- Evaluation: 2 hours
|
||||
|
||||
## Known Challenges
|
||||
1. DeepSC Simulator Approximation: The exact DeepSC performance curve is not provided analytically. Mitigation: We will fit a parameterized logistic/sigmoid curve that approximates the $\xi$ mapping over SNR and $k_n$ derived from the visual insights of Figure 2.
|
||||
2. 3GPP Tables for 4G/5G: 3GPP TS 36.213 and 38.214 need specific threshold tables. Mitigation: Implement an approximate step function matching realistic SE/CQI curves for these specifications.
|
||||
Reference in New Issue
Block a user